精华内容
下载资源
问答
  • Oracle建表语句

    2014-07-08 15:52:39
    Oracle建表语句Oracle建表语句
  • 基于oracle或者mysql生成自动建表同步源数据表结构及注释
  • Oracle经典建表语句

    2012-09-29 00:46:35
    这是我对Oracle建表语句中的经典部分进行的总结,希望对大家有帮助。
  • Oracle建表时添加注释

    2019-12-11 15:52:13
    Oracle建表时添加注释 CREATE TABLET1( id varchar2(32) primary key, name VARCHAR2(32) , age VARCHAR2(32) ) 添加表注释: COMMENT ON table T1 IS ‘个人信息’; 添加字段注释: comment on column T1.id is ...

    Oracle建表时添加注释

    CREATE TABLE T1(
    id varchar2(32) primary key,
    name VARCHAR2(32) ,
    age VARCHAR2(32)
    )

    添加表注释:
    COMMENT ON table T1 IS ‘个人信息’;

    添加字段注释:

    comment on column T1.id is ‘id’;
    comment on column T1.name is ‘姓名’;
    comment on column T1.age is ‘年龄’;

    展开全文
  • -- 建表 create table tbl_person ( id NUMBER not null, name VARCHAR2(100), sex INTEGER, createtime VARCHAR2(100) updatetime VARCHAR2(100) ) --...

    -- 建表   
    create table tbl_person
    (
      id                     NUMBER not null,
      name      VARCHAR2(100),
      sex      INTEGER,
    createtime      VARCHAR2(100)
      updatetime               VARCHAR2(100)
    )

    --表空间参数
    tablespace HAHA
      pctfree 10
      initrans 1
      maxtrans 255
      storage
      (
        initial 64K
        minextents 1
        maxextents unlimited
      );
    -- 添加注释 
    comment on table ADMIN_DEV.tbl_person
      is '人员表';
    -- Add comments to the columns 
    comment on column ADMIN_DEV.tbl_person.id      
      is '主键id';

    comment on column ADMIN_DEV.tbl_person.name      
      is '姓名';
    comment on column ADMIN_DEV.tbl_person.sex      
      is '性别';
    comment on column ADMIN_DEV.tbl_person.createtime      
      is '创建时间';
      comment on column ADMIN_DEV.tbl_person.updatetime              
      is '更新时间';
    -- Create/Recreate primary, unique and foreign key constraints 

    --创建约束
    alter table tbl_person
      add constraint tbl_person primary key (ID)
      using index 
      tablespace OAPP_INDEX
      pctfree 10
      initrans 2
      maxtrans 255;

    --创建自增id

    CREATE SEQUENCE tbl_person_ID MINVALUE 1 MAXVALUE 999999999999999999999999999 START WITH 1 INCREMENT BY 1 CACHE 20;

    --创建索引
      Create Index tbl_person on tbl_person(name);

    --创建别名
    CREATE SYNONYM ADMIN_DEV_R.tbl_person FOR ADMIN_DEV.tbl_person;

    CREATE SYNONYM ADMIN_DEV_W.tbl_person FOR ADMIN_DEV.tbl_person;

    CREATE SYNONYM ADMIN_DEV_W.tbl_person_ID FOR ADMIN_DEV.tbl_person_ID;

    -- 赋权
    grant select on ADMIN_DEV.FNA_REVENUE_BUDGET to ADMIN_DEV_R;
     GRANT UPDATE ON "ADMIN_DEV"."tbl_person" TO "ADMIN_DEV_W";
      GRANT SELECT ON "ADMIN_DEV"."tbl_person" TO "ADMIN_DEV_W";
      GRANT INSERT ON "ADMIN_DEV"."tbl_person" TO "ADMIN_DEV_W";
      GRANT DELETE ON "ADMIN_DEV"."tbl_person" TO "ADMIN_DEV_W";
      GRANT ALTER ON "ADMIN_DEV"."tbl_person" TO "ADMIN_DEV_W";

    展开全文
  • 客户提出一个要求,编写一个脚本,输入表名后,实现导出表的建表语句注释。查询资料后,实现如下: 导出建表语句的SQL文件 set echo off set pagesize 0 set long 90000 set feedback off set termout off set ...

    客户提出一个要求,编写一个脚本,输入表名后,实现导出表的建表语句及注释。查询资料后,实现如下:

    • 导出建表语句的SQL文件
    set echo off
    set pagesize 0
    set long 90000
    set feedback off
    set termout off
    set echo off
    set heading off
    set verify off
    --数据库登录
    --conn test/test@orcl
    --导出文件名称
    spool &2
    --输出信息采用缩排或换行格式化
    EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'PRETTY', TRUE);
    --确保每个语句都带分号
    EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'SQLTERMINATOR', TRUE);
    --关闭表索引、外键等关联(后面单独生成)
    --EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'CONSTRAINTS', FALSE);
    --EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'REF_CONSTRAINTS', FALSE);
    --EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'CONSTRAINTS_AS_ALTER', FALSE);
    --关闭存储、表空间属性
    EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'STORAGE', FALSE);
    EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'TABLESPACE', FALSE);
    --关闭创建表的PCTFREE、NOCOMPRESS等属性
    EXEC DBMS_METADATA.set_transform_param(DBMS_METADATA.session_transform, 'SEGMENT_ATTRIBUTES', FALSE);
    --导出表结构
    select dbms_metadata.get_ddl('TABLE', upper('&1'))
     from dual;
    --获取表注释
    SELECT DBMS_LOB.substr(DBMS_METADATA.get_dependent_ddl('COMMENT',upper('&1')))
            FROM user_col_comments UCC
        WHERE comments IS NOT NULL
      AND UCC.TABLE_NAME = upper('&1')
      and rownum = 1;
    spool off;
    quit;

    最开始获取注释使用的是

    SELECT DISTINCT DBMS_LOB.substr(DBMS_METADATA.get_dependent_ddl('COMMENT',
                  p_table_name)) as table_comment
                    FROM (SELECT distinct table_name
                            FROM user_col_comments
                           WHERE comments IS NOT NULL)

    由于没有进行表名的关联,发现如果表中存在没有注释的字段时候,会报错,报错信息如下:

    ORA-31608: specified object of type COMMENT not found
    ORA-06512: at "SYS.DBMS_METADATA", line 5805
    ORA-06512: at "SYS.DBMS_METADATA", line 8436
    ORA-06512: at line 1
    31608. 00000 -  "specified object of type %s not found"
    *Cause:    The specified object was not found in the database.
    *Action:   Correct the object specification and try the call again.
    • 另导出表注释一份为html格式文件,便于查看
    set echo off
    set heading on
    set term off
    set pagesize 50000
    set long 90000
    set feedback off
    set termout off
    set trimout on
    set trimspool on
    set newpage none
    
    set verify off
    set markup html ON spool ON pre off entmap off
    spool &2
    
    --获取表注释
    select table_name, column_name, comments
      from user_col_comments
     where table_name = upper('&1');
    
    spool off;
    quit;
    • bat入口执行脚本
    @echo off
    title 导出表结构及注释脚本
    @echo 导出表结构脚本程序
    
    ::读取db.ini配置文件
    for /f  "tokens=1,2 delims==" %%b in (%~dp0/conf/db.ini) do (
      if "%%b"=="user" set user=%%c
      if "%%b"=="pass" set pass=%%c
      if "%%b"=="dbsid" set dbsid=%%c 
    )
    
    :param
        ::其中参数1为表名,参数2为路径
        set table_name=
        @echo 请输入需要导出结构和注释的表
        set /p table_name=如ZSLP_TL_BATCH@echo 您输入的表名为:%table_name%
    
        call :stringlenth "%table_name%" num1
    
    
        if not %num1% == 0 (      
            goto export 
        ) else goto param
    
    :stringLenth
        ::字符串长度计算子程序 
        set thestring=%~1
        ::@echo 字符串 %thestring%
        ::参数%1 为字符串"%str%",%~1则去掉"%str%"的双引号。 
        if not defined theString (
           ::设置如果字符串为空,长度为0
            set Return=0
            set %2=0
            goto :eof
        )
        set Return=0
    
    :stringLenth_continue
        set /a Return+=1
        set thestring=%thestring:~0,-1%
        ::偏移量为 1,截取倒数第1位前的所有字符
        if defined thestring goto stringLenth_continue
        ::参数%2 为返回变量 num的名称,不能含空格或特殊字符
        if not "%2"=="" set %2=%Return%
        goto :eof 
    
    :export
    ::导出表结构及注释
    ::echo %~dp0
    sqlplus %user%/%pass%@%dbsid%  @%~dp0/sql/exptab.sql %table_name% %~dp0/export/%table_name%.sql 
    ::导出注释
    sqlplus %user%/%pass%@%dbsid%  @%~dp0/sql/exptabcom.sql %table_name%  %~dp0/export/%table_name%_comment.html
    
    @echo 导出表%table_name%结构及注释结束
    @echo on
    PAUSE
    • 数据库配置文件
    #数据库用户名
    user=xiongf
    #数据库用户密码
    pass=xiongf
    #数据库SID
    dbsid=orcl
    • 执行过程截图:
      这里写图片描述
    展开全文
  • Oracle 建表语句

    万次阅读 2018-12-25 09:08:03
    Oracle 建表语句 create table table_name( id numner(12), text verchar2(255 CHAR) not null, status number(1) DEFAULT 0 null --添加默认值 如果为空默认值就为0 ) --添加主键 ALTER TABLE &...

    Oracle 建表语句

        create table table_name(
        	id numner(12),		
            text verchar2(255 CHAR) not null,   	--char类型,一个汉字占一个长度
            PID varchar2(32 BYTE) NOT NULL,   	--byte类型,UTF8一个汉字占大约两个长度
            status number(1) DEFAULT 0 null  		--添加默认值 如果为空默认值就为0
        )
        --添加主键
        ALTER TABLE "test"."table_name" ADD PRIMARY KEY ("ID");
        
        --添加注释
        comment on column table_name.id is '主键';
        comment on column table_name.text is '说明';
        comment on column table_name.status is '状态';
    
    
    --主键自增 ,1新建一个序列
    	CREATE SEQUENCE cw_bl_id_increment  
    	INCREMENT BY 1  
    	START WITH 1  
    	MAXVALUE 1.0E20  
    	MINVALUE 1  
    	NOCYCLE  
    	CACHE 20  
    	NOORDER  
    --主键自增 ,2创建一个触发器
    	create or replace trigger 触发器名
    	before insert on 表名
    	for each row
    	begin
    	select 序列名.nextval into :new.id from dual;
    	end;
    
    --添加字段
    ALTER TABLE table_name ADD (
    	RS_SFTG NUMBER (1),
    	RS_TGJE VARCHAR2 (255 CHAR)
    );
    --删除字段
    alter table table_name drop column RS_SFTG ;
    
    
    

    序列参数说明:

    CREATE SEQUENCE SEQNAME    	      //序列名字         
    INCREMENT BY 1                    //每次自增1, 也可写非0的任何整数,表示自增,或自减  
    START WITH 1                       //以该值开始自增或自减  
    MAXVALUE 1.0E20                   //最大值;设置NOMAXVALUE表示无最大值  
    MINVALUE 1                           //最小值;设置NOMINVALUE表示无最大值  
    CYCLE or NOCYCLE                  //设置到最大值后是否循环;  
    CACHE 20                              //指定可以缓存 20 个值在内存里;如果设置不缓存序列,则写NOCACHE  
    ORDER or NOORDER                  //设置是否按照请求的顺序产生序列  
    
    展开全文
  • oracle、mysql 建表语句转为hive的建表语句的区别 1、hql需要在表名前加上层级名称. ;建表语句区分一:表名称 create table student -- oracle sql create table ods.student -- hive sql 2、数据数据类型对应关系...
  • --建表语句 SELECTCONCAT('CREATETABLE',T.TABLE_NAME,'(')cre_sqlFROMTABLESTWHERET.TABLE_NAME='WM_TCMPAT_INFO_B' UNIONALL #字段信息 SELECTCONCAT(T.COLUMN_NAME,'', REPLACE(REPLACE(REPLACE(REPLACE(T....
  • python自动生成sql建表语句,可生成oracle,mysql,teradata建表语句,传入excel,生成建表语句
  • 通过存储过程导出ORACLE建表语句

    千次阅读 2017-09-26 10:33:27
    导出单个表的建表语句 注:使用前需要创建directory用于存放导出的建表语句,对应的本地目录首先要创建好,并赋予读写权限 create or replace procedure p_exportDLL(p_table_name varchar2,p_filename varchar...
  • 在实际工作中,一张表,我们可能...本篇文章,以Mysql数据库表为原表,通过PowerDesigner工具将其转化成Oracle数据库建表语句。 1、以 student(学生表)为例,Mysql数据库中建表语句如下所示。需要注意的是,...
  • 在实际工作中,一张表,我们可能需要在...本篇文章,以Oracle数据库表为源表,通过PowerDesigner工具将其转化成Mysql数据库建表语句。 1、以 oracle_to_student(学生表)为例,Oracle数据库中建表语句如下所示。...
  • oracle批量获取建表语句

    千次阅读 2020-05-20 10:20:24
    昨天同事来问我,是否能批量获取oracle建表语句,需要提供给客户, 我们知道,oracle的内部视图中并没有直接记录建表语句,但是User_Tab_Columns这个视图中记录了字段,字段类型,于是想到用语句拼接满足这个需求...
  • oracle获取建表语句

    万次阅读 多人点赞 2018-08-27 09:58:32
    select dbms_metadata.get_ddl('TABLE','COMMUNITY') from dual; COMMUNITY为表名必须大写
  • Oracle数据库建表语句

    千次阅读 2019-08-06 10:05:11
    Oracle数据库建表语句 #1.建表语句 create table CUST_INFO ( CUST_ID VARCHAR(36) not null, CUST_TYPE VARCHAR(50), CUST_NAME VARCHAR(200), ID_NO ...
  • Oracle标准建表语句

    2019-08-02 09:40:54
    --CREATE TABLE 建表 CREATE TABLE OUTLN.CUSTOMER( ID VARCHAR2(32) DEFAULT SYS_GUID() NOT NULL, CUST_ID VARCHAR2(64), CUST_NAME VARCHAR2(255), ID_NO VARCHAR2(64), MOBILE VARCHAR2(16), CREATED_BY VARCHA....
  • ORACLE建表语句注意

    2020-06-03 17:40:29
    今天有个功能是导出对应的建表语句的SQL文件,SQL内容是根据对应的目录和数据项在后台生成的; 问题就出在下载后的SQL文件在Navicat是运行成功的,但是在PL/SQL运行报错,根本原因就是生成的注释没有格式化 pl/sql...
  • 202007219 Oracle建表语句

    2020-07-19 15:59:10
    在一般性的项目里面,可以参照这个顺序来: ...建表语句模板: -- 建表语句 create table ORD_CANCEL( ORD_CANCEL_ID number(11) not null, CANCLE_SERIALNO VARCHAR2(200) not null, CANCLE_TYP.
  • oracle ---创建表 create table ZHANGSAN.ORDER (  id NUMBER not null,  number VARCHAR2(255),  applicant VARCHAR2(255),  state NUMBER(1),  count NUMBER(6),  ctime VARCHAR2(30),  depart ...
  • 工作中一般会出现这种情况,和其他单位合作开发项目时,对方会给我们一份他们...在这个情况下我自己做了一个生成建表脚本的小方法,详情如下:1、创建生成建表语句的存储过程:create table t_OUTString ( Tname va...
  • oracle 查看建表语句

    千次阅读 2016-01-04 16:00:43
    oracle 查看建表语句 获取表: select table_name from user_tables; //当前用户的表 select table_name from all_tables; //所有用户的表 select table_name from dba_tables; //包括系统表 select table_...
  • 1.create table T( id varchar2(20), name varchar2(20) ); comment on table T is '测试表'; comment on column T.id is '主键'; comment on column T.name '姓名';
  • activiti建表语句

    2018-08-07 15:32:14
    activiti工作流所需要的建表语句,以及各表及字段的中文注释
  • oracle创建表+注释

    万次阅读 2016-11-25 18:59:07
    建表的时候为了以后查询方便,也为了减少数据库文档的编写,...建表语句: CREATE table "TABLE_COUNT" (  "TABLE_NAME" varchar2(40 char) not null enable,  "COUNT" varchar2(40 char) not null enable,  
  • CREATE TABLE ORG_BASE_HIS( ID NUMBER NOT NULL, DATA_ID NUMBER NOT NULL, DATA_MSG NVARCHAR2(2000) NOT NULL, TYPE CHAR(1) NOT NULL, "COMCREATEUSER" NUMBER NULL , "COMCREATETIME"...
  • 如何在ORACLE中创建表时添加注释

    万次阅读 2019-03-29 15:11:48
    转载自 oracle中创建表时添加注释 https://www.cnblogs.com/xujiating/p/6236592.html 创建新表MESSAGES CREATE TABLE MESSAGES( MESSAGE_ID NUMBER(6) PRIMARY KEY, SEND_USER VARCHAR2(200), RECEIVE_USER VARCHAR...
  • 达梦数据库建表操作SQL语句大全.pdf
  • 本文主要给大家介绍了关于Mysql元数据生成Hive建表语句注释脚本的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 最近在将数据从Mysql 等其他关系型数据库 抽取到Hive 表中时,需要同步...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,980
精华内容 2,792
关键字:

oracle建表语句带注释