select case superguid when 0 then name else (select LISTAGG(name,.) WITHIN GROUP(ORDER BY levelno) from busfw_t_dchead where tablecode = BDM_T_HC2232002019 start with guid = a.guidconnect by prior superguid = guid) end name from busfw_t_dchead a where tablecode = BDM_T_HC2232002019 and isleaf = 1
查询当前用户下数据库中的某个字段在哪些表中存在 查询语句: SELECTtable_name,column_name FROMuser_tab_columns WHEREcolumn_name LIKE '%column_name %';table_name就是存在column_name字段名的表名;column_name就是需要查找的字段名。 user_tab_cols和user_tab_columns一样,都保存了当前用户的表、视图和Clusters中的列信息。通过检索这两个表,可以方便的获取到表的结构。 属性列表:列名 注释TABLE_NAME 表、视图或集群的...
有时候有需要在oracle数据库中添加多个字段: alter table my_tableadd (state varchar2(2) default 0 not null,name varchar2(100) not null,age number default 0 not null); 上面的语句解释: 表名:my_table 添加了3个字段: 字段1:字段名称:state, 数据类型 :varchar2(2) ,默认值0,不为空(not null) 字段2:字段名称:name ,数据类型:varchar2(100),不为空(not null) 字段3:字段名称:age,数据类型number,默认值0,...
DECLARECURSOR TEMP IS SELECT CREDITZS_CODE,ATTRIBUTE_CODE,ATTRIBUTE_INFO_TYPE,T.ID FROM CREDIT_DIRECTORY_ATTRIBUTE T,CREDIT_DIRECTORY_TREE E WHERE T.TREE_ID=E.ID AND ATTRIBUTE_INFO_TYPE='number'AND ATTRIBUTE_CODE IN('CF_NR_FK','CF_NR_WFFF');STR VARCHAR2(100) := '';ATT NUMBER;BEGIN FOR S IN TEMP LOOPSTR := 'ALTER TABLE '||S.CREDITZS_CODE||' MODIFY('||S.ATTRIBUTE_CODE||' NUMBER(30,4))';ATT :=1;BE...
Oracleselect a.table_name,b.COLUMN_NAME,b.DATA_TYPE from user_tables a left join user_tab_columns b on a.table_name=b.table_name where b.DATA_TYPE=TIMESTAMP(6); SQL Serverselect b.name ColumnName,c.name SystemTypeName,a.name tablename,b.precision,b.scale from sys.tables aleft join sys.columns b on a.object_id=b.object_idleft join sys.types c on b.system_type_id=c.system_type_idwhere...
八百年不用的东西老是忘。 添加注释 plsq直接整 comment on table 表名 is 注释; comment on column 表名.字段名 is 注释; 查看注释 表右键→view,在General看表注释在Column看字段注释导出ddl Tools→Export User Objects选一个用户,选中要输出的表,改一下输出位置、输出名,输出。
获取表:select table_name from user_tables; //当前用户拥有的表 select table_name from all_tables; //所有用户的表 select table_name from dba_tables; //包括系统表 select table_name from dba_tables where owner=用户名user_tables: table_name,tablespace_name,last_analyzed等 dba_tables: ower,table_name,tablespace_name,last_analyzed等 all_tables: ower,table_name,tablespace_name,last_analyzed等 al...
SELECT ID,班组,班次日期, REGEXP_SUBSTR(TIME_RANGE, [^;]+, 1, LEVEL) TIME_RANGE FROM 排班表 WHERE 1 = 1CONNECT BY LEVEL <= REGEXP_COUNT(TIME_RANGE, ;) + 1 AND PRIOR ROWID = ROWID AND PRIOR DBMS_RANDOM.VALUE IS NOT NULL AND REGEXP_SUBSTR(TIME_RANGE, [^;]+, 1, LEVEL) IS NOT NULL
SELECT t.table_name as "name", c.comments as "alias" FROM USER_TABLES t left join user_tab_comments c on t.TABLE_NAME = c.table_name select c.column_name as "name" ,cc.comments as "alias" from user_tab_columns c left join user_col_comments cc on cc.table_name = c.TABLE_NAME and cc.column_name=c.COLUMN_NAME where c.table_name = DATAITEM
SQL语句介绍数据定义语言(DDL),包括 CREATE、 ALTER、 DROP等。 数据操纵语言(DML),包括 INSERT、 UPDATE、 DELETE、 SELECT … FOR UPDATE等。 数据查询语言(DQL),包括基本查询语句、 Order By 子句、 Group By 子句等。 事务控制语言(TCL),包括 COMMIT、 SAVEPOINT、ROLLBACK。数据控制语言(DCL), GRANT、 REVOKE。字段类型 VARCHAR2(length) 字符串类型:存储可变的长度的字符串,length是字符串的最大长度,默认...
在项目中,经常需要在plsql中查询clob的内容,提供以下两种方法: 第一种,oracle常规函数,限制文本在4000以内select dbms_lob.substr(sql_text) from dba_hist_sqltext where sql_id=&sql_id;说明:dbms_lob.substr函数对文本长度有要求,对于sql_text文本大于4000的会报异常第二种,需要在plsql的命令窗口操作set pagesize 0 set long 100000 select sql_fulltext from v$sql where sql_id=&sql_id;说明: 1)set pagesize 0 ...
不知道大家有没有遇到这种坑,就是把一张表的额字段改了,然后整个查询变得特别慢,引起业务问题。然后去查找原因,竟然是修改了表中的字段引起的。 drop table t purge;create table t (object_id number,object_name long);create index idx_object_id on t(object_id);insert into t select trunc(DBMS_RANDOM.VALUE(0,100000),0),dbms_random.string(a,30) from dual connect by rownum <= 100000;commit; select count(*) fro...
Oracle 查询库中所有表名、字段名、字段名说明,查询表的数据条数、表名、中文表名 查询所有表名: select t.table_name from user_tables t; 查询所有字段名: select t.column_name from user_col_comments t; 查询指定表的所有字段名: select t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB'; 查询指定表的所有字段名和字段说明: select t.column_name, t.column_name from user_col_comments t ...
解决方法: 1、重新创建表,设计表时字段名一定要大写。 2、如果是作为条件去查询,建议加,引号。点赞 收藏分享文章举报一手皮发布了18 篇原创文章 · 获赞 11 · 访问量 2万+私信 关注
一开始的sql语句如下:select sum(amount) amount, statusfrom (select sum(demandAmount) amount,cast(casewhen processStatus = a or processStatus = b then已完工else未完工end as varchar2(14)) statusfrom t_outsource_orderwhere machineNo like %xxx%and (isdelete is null or isdelete <> 1)and processStatus is not nullgroup by processStatus)group by status 执行结果很正常然后在Java里一执行就懵了,只取到了statu...