怎样查看oracle 死锁sql语句中创建建表的sql语句

oracle 查看建表语句_百度知道
oracle 查看建表语句
dbms_metadata.get_ddl(object_type =& 'TABLE',name =& table_name)
这个语句我会用,但是这个查询出来的create语句有些问题,一是不包含约束,二十多了什么附件信息,比如storage compress等。例子如下:
CREATE TABLE &abc&.&AR_TMP&
not null 确实显示,但是null不显示。我现在想着用shell脚本加工,但是也有个小问题。dbms_metadata.get_ddl本来直接执行输出是这样的CREATE TABLE &abc&.&AR_TMP&
&COD_FN_ENT& CHAR(4 CHAR),
&NUM_SEQ_AR& CHAR(17 CHAR) ,
&ID_SP& CHAR(3 CHAR) ,
)但是在shell执行是输出这样的CREATE TABLE &abc&.&AR_TMP&
&COD_FN_ENT& CHAR(4 CHAR),
&NUM_SEQ_AR& CHAR(17 CHAR) ,
&ID_SP& CHAR(3 CHAR) ,
您知道怎么回事吗?谢谢。
我有更好的答案
在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', 表名)
谢谢,不过也没有加上 NULL
NOT NULL等限制,AQ右键菜单应该也是执行某条或某些命令吧?您知道吗?
我在本地试过,会显示not null的喔。没有用过AQ,但是这些IDE应该都是调用数据库的命令或函数的。
您知道怎么回事吗?谢谢。这里写了超长,所以补充问题。
您是指“AQ右键菜单应该也是执行某条或某些命令吧?”吗?这个就不太清楚啦。
采纳率:87%
为您推荐:
其他类似问题
oracle的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。博客访问: 87014
博文数量: 4
注册时间:
分类: Oracle 16:44:09
1.首先我们可以用scott用户以sysdba的身份登录oracle.
conn&scott/tiger&as&sysdba&&
2.然后我就可以来创建用户了.
create&user&zzg&identified&by&zzg123;&&
3.创建好用户我们接着就可以修改用户的密码.
alter&user&zzg&identified&by&&&
4.默认情况下用户创建好后系统会默认给该用户分配一个表空间(users);
我们可以通过下面的sql语句来查看一下所有用户所在的表空间.
select&username,default_tablespace&from&dba_&&
5.一般在开发情况下,我们当然不会使用用户的默认表空间,所以这时我们需要创建一个表空间.
create&tablespace&ts_zzg&datafile&'f:\ts_zzg\zzg_data.dbf'&size&200M;&&
注:datafile后面是表空间的物理存储路径,文件名的后缀可以随便.
6.创建好表空间,还需要将表空间分配给用户.
alter&user&zzg&default&tablespace&ts_&&
7.我们可以通过步骤4来查询用户所在的表空间.
8.给用户分配了表空间,用户还不能登陆(没有登录权限),因此还需要为用户分配权限
grant&create&session,create&table,create&view,create&sequence,unlimited&tablespace&to&&&
9.给用户分配了权限之后我们就可以用zzg用户来登录了.
conn&zzg/&&
10.登录之后我们也可以来查询用户所具有的权限
select&*from&session_&&
11.最后我们也可以删除用户及其相关对象
drop&user&zzg&cascade; &
阅读(76409) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
丰衣足食, 积分 862, 距离下一级还需 138 积分
论坛徽章:0
pl/sql 中怎样查询 分区表的分区信息,如类型、分区字段,还有建表语句?
丰衣足食, 积分 862, 距离下一级还需 138 积分
论坛徽章:0
用load 工具可以查看到建表语句。
论坛徽章:7
select * from dba_tab_
select * from dba_part_
select * from dba_
上面3个视图可以查看分区表的相关信息
建表语句则可以使用:
DBMS_METADATA.GET_DDL导出定义
SELECT DBMS_METADATA.GET_DDL('TABLE', 'T1') FROM DUAL;
稍有积蓄, 积分 278, 距离下一级还需 222 积分
论坛徽章:1
分区字段应该在这里查吧。。
SYS@scard&select * from dba_part_key_columns where name='T_SMS_INTFC_RCD_HIS_TURE';
OWNER& && && && && && && && &&&NAME& && && && && && && && && &OBJEC COLUMN_NAM COLUMN_POSITION
------------------------------ ------------------------------ ----- ---------- ---------------
IJX130355& && && && && && && & T_SMS_INTFC_RCD_HIS_TURE& && & TABLE SAVETIME& && && && && &&&1
SYS@scard&
SYS@scard&
北京盛拓优讯信息技术有限公司. 版权所有 京ICP备号 北京市公安局海淀分局网监中心备案编号:22
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处SQL语句---创建表(约束的用法)
我的图书馆
SQL语句---创建表(约束的用法)
本文源自: SQL语句---创建表 - 轻轻浪花 - 博客频道 - CSDN.NET http://blog.csdn.net/Qingqinglanghua/article/details/5051563-------------------------------------------------------------------------------------------------------------------------------1.定义基本表语句&&& 语法:&&& USE 数据库名 CREATE TABLE 表名 (列名 类型(大小)&DEFAULT'默认值',&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 列名 类型(大小)&DEFAULT'默认值',&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 列名 类型(大小)&DEFAULT'默认值',&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ... ...);&&& 注:绿色部份是可以省略的。&&& 例:CREATE TABLE S (SNO char(2), SNAME char(8), AGE decimal(2), SEX char(2) DEFAULT'男', DEPT char(2));&&&&&&&&& 创建了一个五列的表,其中第四列的默认值为'男’。&--------------------------------------------------------------------------------2.定义完整性约束&&& 语法:&&& USE 数据库名 CREATE TABLE 表名 (列名 类型(大小)&DEFAULT'默认值' CONSTRAINT 约束名&约束定义,&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 列名 类型(大小)&DEFAULT'默认值' CONSTRAINT 约束名&约束定义,&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 列名 类型(大小)&DEFAULT'默认值' CONSTRAINT 约束名&约束定义,&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ... ...);&&& 注:(1) 绿色部份是可以省略的。&&&&&&&&& (2) 一个列是可以有多个约束的。&& & 约束定义:&& & (1)NULL | NOT NULL& 用于定义列的空值约束。(定义列)& (下面的蓝色部份是单选其中之一)&&&&&&&&&&& 语法:CONSTRAINT 约束名&NULL | NOT NULL&&&&&&&&&&& 注意:&&&&&&&&&&&&&&&&&&& a. NOT NULL 约束 -- 强制列不接受 NULL 值。&&&&&&&&&&&&&&&&&&& b. NOT NULL 约束 -- 强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新纪录或者更新记录。&&&&&&&&&&& 例:&&&&&&&&&&&&&&&&&&& 下面的 SQL 语句强制 "Id_P" 列和 "LastName" 列不接受 NULL 值:&&&&&&&&&&&&&&&&&&&& CREATE TABLE Persons&&&&&&&&&&&&&&&&&&&& (&&&&&&&&&&&&&&&&&&&& Id_P int NOT NULL,&&&&&&&&&&&&&&&&&&&&&LastName varchar(255) NOT NULL,&&&&&&&&&&&&&&&&&&&& FirstName varchar(255),&&&&&&&&&&&&&&&&&&&& Address varchar(255),&&&&&&&&&&&&&&&&&&&& City varchar(255)&&&&&&&&&&&&&&&&&&&& )&& & (2)UNIQUE& 约束唯一标识数据库表中的每条记录。(即可以定义列也可能定义表)&&&&&&&&&&& 语法:CONSTRAINT 约束名 UNIQUE (列名, 列名, ... ...);&&&&&&&&&&& 说明:用于指定基本表在某一个列或多个列的组合上取值必须唯一。定义了UNIQUE约束的那些列称为唯一键。如果为基本表的革一列或多个列的组合指定了UNIQUE约束,则系统将为这些列建立唯一索引,从而保证在表中的任意两行记录在指定的列或列组合上不能取同样的值。&& & & & & & 注意:&&&&&&&&&&&&&&&&&&& a. UNIQUE 约束唯一标识数据库表中的每条记录。&&&&&&&&&&&&&&&&&&& b. UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。&&&&&&&&&&&&&&&&&&& c. PRIMARY KEY 拥有自动定义的 UNIQUE 约束。&&&&&&&&&&&&&&&&&&& d.请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。&& & & & & &例:&& & & & & & & & &下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 UNIQUE 约束:&&&&&&&&&&&&&&&MySQL:&&&&&&&&&&&&&&&& CREATE TABLE Persons&&&&&&&&&&&&&&&& (&&&&&&&&&&&&&&&& Id_P int NOT NULL,&&&&&&&&&&&&&&&& LastName varchar(255) NOT NULL,&&&&&&&&&&&&&&&& FirstName varchar(255),&&&&&&&&&&&&&&&& Address varchar(255),&&&&&&&&&&&&&&&& City varchar(255),&&&&&&&&&&&&&&&&&UNIQUE (Id_P)&&&&&&&&&&&&&&&& )&&&&&&&&&&&&& SQL Server / Oracle / MS Access:&&&&&&&&&&&&&&&& CREATE TABLE Persons&&&&&&&&&&&&&&&& (&&&&&&&&&&&&&&&&&Id_P int NOT NULL UNIQUE,&&&&&&&&&&&&&&&& LastName varchar(255) NOT NULL,&&&&&&&&&&&&&&&& FirstName varchar(255),&&&&&&&&&&&&&&&& Address varchar(255),&&&&&&&&&&&&&&&& City varchar(255)&&&&&&&&&&&&&&&&& )&& & & & & & & & &如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束,请使用下面的 SQL 语法:&&&&&&&&&&&&& MySQL / SQL Server / Oracle / MS Access:&&&&&&&&&&&&&&&& CREATE TABLE Persons&&&&&&&&&&&&&&&& (&&&&&&&&&&&&&&&& Id_P int NOT NULL,&&&&&&&&&&&&&&&& LastName varchar(255) NOT NULL,&&&&&&&&&&&&&&&& FirstName varchar(255),&&&&&&&&&&&&&&&& Address varchar(255),&&&&&&&&&&&&&&&& City varchar(255),&&&&&&&&&&&&&&&&&CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)&&&&&&&&&&&&&&&& )& & (3)PRIMARY KEY 约束唯一标识数据库表中的每条记录。(即可以定义列也可能定义表)&&&&&&&&&&& 语法:CONSTRAINT 约束名 PRIMARY KEY (列名, 列名, ... ...);&&&&&&&&&&& 说明:用于定义基本表的主键。与UNIQUE约束类似,PRIMARY KEY 约束也是通过建立唯一索引来保证基本表在主键列(某一个列或多个列的组合)上取值的唯一性。然而它们之间也存在着很大差别:在一个基本表中只能定义一个 PRIMARY KEY 约束,却能定义多个UNIQUE约束。如果为基本表的某一个列或多个列的组合指定了 PRIMARY KEY 约束,那么其中在任何一个列都不能出现空值;而 UNIQUE 约束允许出现空值。&&&&&&&&&&& 注意:&&&&&&&&&&&&&&&&&&& a. 主键必须包含唯一的值。&&&&&&&&&&&&&&&&&&& b. 主键列不能包含 NULL 值。 &
& (a + b --& primary key 包含了 unique key 和 not null)&&&&&&&&&&&&&&&&&&& c. 每个表应该都一个主键,并且每个表只能有一个主键。&&&&&&&&&&& 例:&& & & & & & & & &下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 PRIMARY KEY 约束:&&&&&&&&&&&&& MySQL:&&&&&&&&&&&&&&&& CREATE TABLE Persons&&&&&&&&&&&&&&&& (&&&&&&&&&&&&&&&& Id_P int NOT NULL,&&&&&&&&&&&&&&&& LastName varchar(255) NOT NULL,&&&&&&&&&&&&&&&& FirstName varchar(255),&&&&&&&&&&&&&&&& Address varchar(255),&&&&&&&&&&&&&&&& City varchar(255),&&&&&&&&&&&&&&&&&PRIMARY KEY (Id_P)&&&&&&&&&&&&&&&& )&&&&&&&&&&&&& SQL Server / Oracle / MS Access:&&&&&&&&&&&&&&&& CREATE TABLE Persons&&&&&&&&&&&&&&&& (&&&&&&&&&&&&&&&&&Id_P int NOT NULL PRIMARY KEY,&&&&&&&&&&&&&&&& LastName varchar(255) NOT NULL,&&&&&&&&&&&&&&&& FirstName varchar(255),&&&&&&&&&&&&&&&& Address varchar(255),&&&&&&&&&&&&&&&& City varchar(255)&&&&&&&&&&&&&&&& )&&&&&&&&&&&&&&&& 如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:&&&&&&&&&&&&& MySQL / SQL Server / Oracle / MS Access:&&&&&&&&&&&&&&&& CREATE TABLE Persons&&&&&&&&&&&&&&&& (&&&&&&&&&&&&&&&& Id_P int NOT NULL,&&&&&&&&&&&&&&&& LastName varchar(255) NOT NULL,&&&&&&&&&&&&&&&& FirstName varchar(255),&&&&&&&&&&&&&&&& Address varchar(255),&&&&&&&&&&&&&&&& City varchar(255),&&&&&&&&&&&&&&&&&CONSTRAINT uc_PersonID PRIMARY KEY (Id_P,LastName)&&&&&&&&&&&&&&&& )&& & (4)FOREIGN KEY 外键 (即可以定义列也可能定义表)&&&&&&&&&&& 语法:CONSTRAINT 约束名 FOREIGN KEY (列名, 列名, ... ...) REFERENCES (列名, 列名, ... ...) ;&&&&&&&&&&& 说明:指定某一个列或多个列的组合作为外部键,并在外部键和它所引用的主键或唯一键之间建立联系。在这种联系中,包含外部键的基本表称为从表,包含外部键引用的主键或唯一键的表称为主表。一旦为一列或列的组合定义了 FOREIGN KEY 约束,系统将保证从表在外部键上的取值要么是主表中某一个主键值或唯一键值,要么取空值。&&&&&&&&&&& 注意:&&&&&&&&&&&&&&&&&&& a.在REFERENCES 中引用的列必须和 FOREIGN KEY 的外部键列一一对应,即列数目相等并且相应列的数据类型相同。&&&&&&&&&&& 例:&& & & & & & & & &下面的 SQL 在 "Orders" 表创建时为 "Id_P" 列创建 FOREIGN KEY:&&&&&&&&&&&&&&&& MySQL:&&&&&&&&&&&&&&&& CREATE TABLE Orders&&&&&&&&&&&&&&&& (&&&&&&&&&&&&&&&& O_Id int NOT NULL,&&&&&&&&&&&&&&&& OrderNo int NOT NULL,&&&&&&&&&&&&&&&& Id_P int,&&&&&&&&&&&&&&&& PRIMARY KEY (O_Id),&&&&&&&&&&&&&&&&&FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)&&&&&&&&&&&&&&&& )&&&&&&&&&&&&&&&& SQL Server / Oracle / MS Access:&&&&&&&&&&&&&&&& CREATE TABLE Orders&&&&&&&&&&&&&&&& (&&&&&&&&&&&&&&&& O_Id int NOT NULL PRIMARY KEY,&&&&&&&&&&&&&&&& OrderNo int NOT NULL,&&&&&&&&&&&&&&&&&Id_P int FOREIGN KEY REFERENCES Persons(Id_P)&&&&&&&&&&&&&&&& )&&&&&&&&&&&&&&&& 如果需要命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束,请使用下面的 SQL 语法:&&&&&&&&&&&&&&&& MySQL / SQL Server / Oracle / MS Access:&&&&&&&&&&&&&&&& CREATE TABLE Orders&&&&&&&&&&&&&&&& (&&&&&&&&&&&&&&&& O_Id int NOT NULL,&&&&&&&&&&&&&&&& OrderNo int NOT NULL,&&&&&&&&&&&&&&&& Id_P int,&&&&&&&&&&&&&&&& PRIMARY KEY (O_Id),&&&&&&&&&&&&&&&&&CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)&&&&&&&&&&&&&&&& )&&&& (5)CHECK&约束用于限制列中的值的范围。 (即可以定义列也可能定义表)&&&&&&&&&&& 语法:CONSTRAINT 约束名 CHECK&(约束条件);&&&&&&&&&&& 说明:用于指定基本表中的每一条记录必须满足的条件,可以对基本表在各个列上的值做进一步的约束,如成绩列的取值既不能大于100,也不能小于0。&&&&&&&&&&& 注意:&&&&&&&&&&&&&&&&&&& a. 如果对单个列定义 CHECK 约束,那么该列只允许特定的值。&&&&&&&&&&&&&&&&&&& b. 如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。&&&&&&&&&&& 例:&& & & & & 下面的 SQL 在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束。CHECK 约束规定 "Id_P" 列必须只包含大于 0 的整数。&&&&&&&&&&&&&&&& My SQL:&&&&&&&&&&&&&&&& CREATE TABLE Persons&&&&&&&&&&&&&&&& (&&&&&&&&&&&&&&&& Id_P int NOT NULL,&&&&&&&&&&&&&&&& LastName varchar(255) NOT NULL,&&&&&&&&&&&&&&&& FirstName varchar(255),&&&&&&&&&&&&&&&& Address varchar(255),&&&&&&&&&&&&&&&& City varchar(255),&&&&&&&&&&&&&&&&&CHECK (Id_P&0)&&&&&&&&&&&&&&&& )&&&&&&&&&&&&&&&& SQL Server / Oracle / MS Access:&&&&&&&&&&&&&&&& CREATE TABLE Persons&&&&&&&&&&&&&&&& (&&&&&&&&&&&&&&&&&Id_P int NOT NULL CHECK (Id_P&0),&&&&&&&&&&&&&&&& LastName varchar(255) NOT NULL,&&&&&&&&&&&&&&&& FirstName varchar(255),&&&&&&&&&&&&&&&& Address varchar(255),&&&&&&&&&&&&&&&& City varchar(255)&&&&&&&&&&&&&&&& )&&&&&&&&&&&&&&&& 如果需要命名 CHECK 约束,以及为多个列定义 CHECK 约束,请使用下面的 SQL 语法:&&&&&&&&&&&&&&&& MySQL / SQL Server / Oracle / MS Access:&&&&&&&&&&&&&&&& CREATE TABLE Persons&&&&&&&&&&&&&&&& (&&&&&&&&&&&&&&&& Id_P int NOT NULL,&&&&&&&&&&&&&&&& LastName varchar(255) NOT NULL,&&&&&&&&&&&&&&&& FirstName varchar(255),&&&&&&&&&&&&&&&& Address varchar(255),&&&&&&&&&&&&&&&& City varchar(255),&&&&&&&&&&&&&&&&&CONSTRAINT chk_Person CHECK (Id_P&0 AND City='Sandnes')&&&&&&&&&&&&&&&& )&&& & 例:USE lijintao CREATE TABLE S2&&&&&&&& (SNO CHAR(2) CONSTRAINT S_PRIM PRIMARY KEY,&&&&&&&&& SN CHAR(8) CONSTRAINT SN_CONS NOT NULL,&&&&&&&&& AGE NUMERIC(2) CONSTRAINT AGE_CONS NOT NULL CONSTRAINT AGE_CHK CHECK(AGE BETWEEN 15 AND 45),&&&&&&&&& SEX CHAR(2) DEFAULT '男' CONSTRAINT SEX_CHK CHECK(SEX = '男' OR SEX = '女'),&&&&&&&&& DEPT CHAR(2) CONSTRAINT DEPT_CONS NOT NULL);
TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢Oracle轻松取得建表和索引的DDL语句
转载 & & 作者:
我们都知道在9i之前,要想获得建表和索引的语句是一件很麻烦的事。我们可以通过export&with&rows=no来得到,但它的输出因为格式的问题并不能直接拿来用。而另一种方法就是写复杂的脚本来查询数据字典,但这对于一稍微复杂的对象,如IOT和嵌套表等,还是无法查到。   从数据字典中获得DDL语句是经常要用的,特别是在系统升级/重建的时候。在Oracle&9i中,我们可以直接通过执行dbms_metadata从数据字典中查处DDL语句。使用这个功能强大的工具,我们可以获得单个对象或整个SCHEMA的DDL语句。最好不过的是因为它使用起来很简单。   1、获得单个表和索引DDL语句的方法:
代码如下:  set&heading&  &   set&echo&  &   Set&pages&999;  &   set&long&90000;&   &    &   &   spool&get_single.sql  &   select&dbms_metadata.get_ddl('TABLE','SZT_PQSO2','SHQSYS')&from&  &   select&dbms_metadata.get_ddl('INDEX','INDXX_PQZJYW','SHQSYS')&from& &   spool&&&  下面是输出。我们只要把建表/索引语句取出来在后面加个分号就可以直接运行了。
代码如下:  SQL&&select&dbms_metadata.get_ddl('TABLE','SZT_PQSO2','SHQSYS')&from&&   &      &   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&&  &   PCTINCREASE&0&FREELISTS&1&FREELIST&GROUPS&1&BUFFER_POOL&DEFAULT)&  &   TABLESPACE&"DATA1"&    &   SQL&&select&dbms_metadata.get_ddl& &&&&('INDEX','INDXX_PQZJYW','SHQSYS')&from&  &   CREATE&INDEX&"SHQSYS"."INDXX_PQZJYW"&ON&"SHQSYS"."SZT_PQSO2"&("ZJYW")&  &   PCTFREE&10&INITRANS&2&MAXTRANS&255&  &   STORAGE(INITIAL&1048576&NEXT&1048576&MINEXTENTS&1&MAXEXTENTS&&  &   PCTINCREASE&0&FREELISTS&1&FREELIST&GROUPS&1&BUFFER_POOL&DEFAULT)&  &   TABLESPACE&"DATA1"&  &   SQL&&  &   SQL&&spool&&&  2、获得整个SCHEMA&DDL语句的方法:   代码如下: set&pagesize&0  &   set&long&90000  &   set&feedback&off  &   set&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&&&  需要注意的是,当我们的表中有外健(参照约束)时,我们需要判别参照表之间的顺序,确保重建时按照合理的顺序进行。你可以通过查询dba_constraints&and&dba_cons_columns来确定各表之间的顺序,不再详述&
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 oracle创建表sql语句 的文章

 

随机推荐