oracle建表语句
create table usptotest ( pn varchar(10) not null, isd varchar(20) default '' not null , title varchar(150) default '' not null , abst varchar(2000) default '' not null , appno varchar(20) default '' not null , appdate varchar(20) default '' not null , inventor varchar(200) default '' not null , assignee_name varchar(50) default '' not null , assignee_country varchar(20) default '' not null , assignee_city varchar(20) default '' not null , assignee_state varchar(10) default '' not null, primary key (pn) ) 这样就OK了 你写反了除第一个字段主键外,其它字段可以不输入,而是直接赋值为空create table usptotest ( pn varchar(10) not null, isd varchar(20) default '' , title varchar(150) default '' , abst varchar(2000) default '' , appno varchar(20) default '', appdate varchar(20) default '' , inventor varchar(200) default '' , assignee_name varchar(50) default '', assignee_country varchar(20) default '' , assignee_city varchar(20) default '' , assignee_state varchar(10) default '' , primary key (pn) )。
如何查看Oracle数据表的建表语句
1、调出SQL*Plus conn system/manager grant connect,resource to a identified by a; grant connect,resource to b identified by b; conn a/a create table a(a number); insert into a values (1); insert into a values (2); insert into a values (3); create table b(a number,b varchar2 (10)); insert into b values(1,'1111'); insert into b values(2,'2222'); insert into b values(3,'3333'); commit; 2、打开一个DOS窗口、先执行导出 E:\>exp a/a file=a。
dmp log=loga。txt Export: Release 8。
1。6。
0。0 - Production on 星期五 12月 1 22:24:16 2000 (c) Copyright 1999 Oracle Corporation。
All rights reserved。 连接到: Oracle8i Enterprise Edition Release 8。
1。6。
0。0 - Production With the Partitioning option JServer Release 8。
1。6。
0。0 - Production 已导出ZHS16GBK字符集和ZHS16GBK NCHAR 字符集 。
正在导出 pre-schema 过程对象和操作 。 正在导出用户A的外部函数程序库名称 。
正在导出用户A的对象类型定义 即将导出A的对象 。 。
。 。
正在导出数据库链接 。 正在导出序号 。
正在导出群集定义 。 即将导出A的表通过常规路径 。
。 。
正在导出表 A 3 行被导出 。 。
正在导出表 B 3 行被导出 。 正在导出同义词 。
正在导出视图 。 正在导出存储的过程 。
正在导出运算符 。 正在导出引用完整性约束条件 。
正在导出触发器 。 正在导出索引类型 。
正在导出位图、功能性索引和可扩展索引 。 正在导出后期表活动 。
正在导出快照 。 正在导出快照日志 。
正在导出作业队列 。 正在导出刷新组和子组 。
正在导出维 。 正在导出 post-schema 过程对象和操作 。
正在导出统计 在没有警告的情况下成功终止导出。 E:\> 3、再执行导入,使用show=y、log这两个选项 E:\>imp a/a file=a。
dmp show=y log=logb。txt Import: Release 8。
1。6。
0。0 - Production on 星期五 12月 1 22:29:49 2000 (c) Copyright 1999 Oracle Corporation。
All rights reserved。 连接到: Oracle8i Enterprise Edition Release 8。
1。6。
0。0 - Production With the Partitioning option JServer Release 8。
1。6。
0。0 - Production 经由常规路径导出由EXPORT:V08。
01。06创建的文件 已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入 。
正在将A的对象导入到 A "CREATE TABLE "A" ("A" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 25" "5 LOGGING STORAGE (INITIAL 131072 NEXT 65536 MINEXTENTS 1 MAXEXTENTS 2147483" "645 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLE" "SPACE "SYSTEM"" 。 。
正在跳过表 "A" "CREATE TABLE "B" ("A" NUMBER, "B" VARCHAR2 (10)) PCTFREE 10 PCTUSED 40 INIT" "RANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 131072 NEXT 65536 MINEXTENTS 1 " "MAXEXTENTS 2147483645 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_P" "OOL DEFAULT) TABLESPACE "SYSTEM"" 。 。
正在跳过表 "B" 成功终止导入,但出现警告。 E:\> 4、使用编辑器打开logb。
txt,里面可以看到DDL语句。
oracle建表语句
create table usptotest
(
pn varchar(10) not null,
isd varchar(20) default '' not null ,
title varchar(150) default '' not null ,
abst varchar(2000) default '' not null ,
appno varchar(20) default '' not null ,
appdate varchar(20) default '' not null ,
inventor varchar(200) default '' not null ,
assignee_name varchar(50) default '' not null ,
assignee_country varchar(20) default '' not null ,
assignee_city varchar(20) default '' not null ,
assignee_state varchar(10) default '' not null,
primary key (pn)
)
这样就OK了
你写反了
除第一个字段主键外,其它字段可以不输入,而是直接赋值为空
create table usptotest
(
pn varchar(10) not null,
isd varchar(20) default '' ,
title varchar(150) default '' ,
abst varchar(2000) default '' ,
appno varchar(20) default '',
appdate varchar(20) default '' ,
inventor varchar(200) default '' ,
assignee_name varchar(50) default '',
assignee_country varchar(20) default '' ,
assignee_city varchar(20) default '' ,
assignee_state varchar(10) default '' ,
primary key (pn)
)
怎样查看oracle中创建建表的sql语句
打开PL/SQL Developer,找到tables底下对应的表,右键选择“查看”菜单,右下角有个“查看SQL”的按钮,点下就可以看到建表语句了。或者“新建”-->“SQL窗口”,然后输入表名,右键选择“查看”菜单,再点击“查看SQL”按钮。
其实没有那么为麻烦,你可以打开ORACLE视图编辑器。 中显示ORACLE语句,想要什么语句你自己试吧! 包括表的一些属性项都可以加上的,先从数据库避免死锁的一般方法谈起,然后分别说明各种方法的应用场景以及在不同应用场景下锁的类型,并举例在什么时候应用并说明原因,还要说明不同机制在什么情况下可能发生死锁,最后提出改进意见。
在oracle数据库中创建表语句如何写
Oracle不能再建表语句中实现自增的,需要借助sequence才能实现,,设置主键只需要在字段后面加primary key关键字即可
create table servicelogs(
id number(8) primary key,
servicetype varchar(100),
outsys varchar(100),
methodname varchar(100),
methodresult varchar(200),
errormessage varchar(900),
inparameter varchar(900),
returncontent varchar(900),
logtime varchar(20)
);
创建序列号:
create sequence servicelogs_sequence
increment by 1 --步长,每次增加几
start with 1 --从几开始,这里是1
nomaxvalue --不设置最大值
nocycle --一直累加,不循环
nocache; --不建缓冲区
当然到此也可以结束,每次调用手动调用(序列名称.nextcal),但是这样比较麻烦,还是建立一个触发器
create or replace trigger servicelogs_trig before
insert on servicelogs for each row
begin
select servicelogs.nextval into new.id from dual;
end;
测试:
insert into servicelogs(servicetype)values('aaab');
select * from servicelogs;
怎样用Oracle取得建表和索引的DDL语句
从数据字典中获得DDL语句是经常要用的,特别是在系统升级/重建的时候。
在Oracle 9i中,我们可以直接通过执行dbms_metadata从数据字典中查处DDL语句。使用这个功能强大的工具,我们可以获得单个对象或整个SCHEMA的DDL语句。
最好不过的是因为它使用起来很简单。 1、获得单个表和索引DDL语句的方法: set heading off;set echo off;Set pages 999;set long 90000;spool get_single。
sqlselect dbms_metadata。 get_ddl('TABLE','SZT_PQSO2','SHQSYS') from dual;select dbms_metadata。
get_ddl('INDEX','INDXX_PQZJYW','SHQSYS') from dual; spool off;下面是输出。 我们只要把建表/索引语句取出来在后面加个分号就可以直接运行了。
SQL> select dbms_metadata。get_ddl('TABLE','SZT_PQSO2','SHQSYS') from dual; CREATE TABLE "SHQSYS"。
"SZT_PQSO2" ( "PQBH" VARCHAR2(32) NOT NULL ENABLE, "ZJYW" NUMBER(10,0), "CGSO" NUMBER(10,0) NOT NULL ENABLE, "SOLS" VARCHAR2(17), "SORQ" VARCHAR2(8), "SOWR" VARCHAR2(8), "SOCL" VARCHAR2(6), "YWHM" VARCHAR2(10), "YWLX" VARCHAR2(6) ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "DATA1" SQL> select dbms_metadata。 get_ddl ('INDEX','INDXX_PQZJYW','SHQSYS') from dual;CREATE INDEX "SHQSYS"。
"INDXX_PQZJYW" ON "SHQSYS"。"SZT_PQSO2" ("ZJYW") PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "DATA1" SQL> SQL> spool off;2、获得整个SCHEMA DDL语句的方法: set pagesize 0set long 90000set feedback offset echo off spool get_schema。
sql connect shqsys/shqsys@hawk1;SELECT DBMS_METADATA。GET_DDL('TABLE',u。
table_name)FROM USER_TABLES u;SELECT DBMS_METADATA。 GET_DDL('INDEX',u。
index_name)FROM USER_INDEXES u;spool off;需要注意的是,当我们的表中有外健(参照约束)时,我们需要判别参照表之间的顺序,确保重建时按照合理的顺序进行。你可以通过查询dba_constraints and dba_cons_columns来确定各表之间的顺序,不再详述。
以上是我对于这个问题的解答,希望能够帮到大家。
能帮我解释一下oracle创建表空间的语句吗
1. 创建表空间,名称为db_name;2. 表空间有一个数据文件*.dbf,大小为200MB;3. 允许表空间自动扩展(autoextends),每次增长10MB(next 10M),并且不限制最大大小;4. 说明表空间本地(local)管理,并自动分配范围(autoallocate),用户不能指定范围的大小;5. 段空间(segment)的空间管理上使用bitmaps(auto)来管理数据块。
使用AUTO会比使用MANUAL有更好的空间利用率,与效能上的提升。
oracle 查看建表语句
在sqlplus中执行以下命令:set line 200 pages 50000 wrap on long 999999 serveroutput onEXECUTEDBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'STORAGE',false);---去除storage等多余参数select dbms_metadata.get_ddl('TABLE', 表名) from dual;。