Select TABLE_NAME,COLUMN_NAME,DATA_TYPE
From user_tab_columns
Where column_name In --(Select keyword From v$reserved_words)
('ACCESS','ADD','ALL','ALTER','AND','ANY','AS','ASC','AUDIT','BETWEEN','BY','CHAR','CHECK','CLUSTER',
'COLUMN','COMMENT','COMPRESS','CONNECT','CREATE','CURRENT','DATE','DECIMAL','DEFAULT','DELETE',
'DESC','DISTINCT','DROP','ELSE','EXCLUSIVE','EXISTS','FILE','FLOAT','FOR','FROM','GRANT','GROUP',
'HAVING','IDENTIFIED','IMMEDIATE','IN','INCREMENT','INDEX','INITIAL','INSERT','INTEGER','INTERSECT',
'INTO','IS','LEVEL','LIKE','LOCK','LONG','MAXEXTENTS','MINUS','MLSLABEL','MODE','MODIFY','NOAUDIT',
'NOCOMPRESS','NOT','NOWAIT','NULL','NUMBER','OF','OFFLINE','ON','ONLINE','OPTION','OR','ORDER',
'PCTFREE','PRIOR','PRIVILEGES','PUBLIC','RAW','RENAME','RESOURCE','REVOKE','ROW','ROWID','ROWNUM',
'ROWS','SELECT','SESSION','SET','SHARE','SIZE','SMALLINT','START','SUCCESSFUL','SYNONYM','SYSDATE',
'TABLE','THEN','TO','TRIGGER','UID','UNION','UNIQUE','UPDATE','USER','VALIDATE','valueS','VARCHAR',
'VARCHAR2','VIEW','WHENEVER','WHERE','WITH')
Or column_name Like '% %'
--检查数据库中相同名字不同类型的字段名
select a.column_name,a.data_type,b.data_type From
(select distinct column_name,data_type from all_tab_columns Where TABLE_NAME Like 'T%') a,
(select distinct column_name,data_type from all_tab_columns Where TABLE_NAME Like 'T%') b
where a.column_name=b.column_name and a.data_type<>b.data_type
--检查数据库中相同名字相同类型不同长度的字段名
select a.column_name,a.data_type,b.data_type,a.data_length,b.data_length From
(select distinct column_name,data_type,data_length from all_tab_columns Where TABLE_NAME Like 'T%') a,
(select distinct column_name,data_type,data_length from all_tab_columns Where TABLE_NAME Like 'T%') b
where a.column_name=b.column_name and a.data_type=b.data_type And A.DATA_LENGTH<>B.DATA_LENGTH
在运行数据库脚本的时候报sql语法错,按理来说数据库脚本既然被导出来了那应该是不会有什么语法错误的
在运行数据库脚本的时候报sql语法错,按理来说数据库脚本既然被导出来了那应该是不会有什么语法错误的
laravel-admin 查询过滤时间戳(数据库使用int类型)不起作用案例复现及解决办法
laravel-admin 查询过滤时间戳(数据库使用int类型)不起作用案例复现及解决办法
【脚本】快速获得当前用户下“暂忘”的数据库对象信息
对SQL*Plus情有独钟的朋友一定遇到过这样的问题:突然忘记了表的全名(或者其他数据库对象名),仅依稀记得它包含几个字母,怎么可以最快速知道具体的名字呢?
最快速的回答:使用数据字典视图可以达到提示自己的目的。
例如使用如下的SQL语句遍可获得当前用户下所有包含“TMP”关键字的数据库对象信息。
select * from obj where object_name like '%TMP%';
完全正确,但是没有达到我们“快速”的目的。我这里给出一个非常简单的脚本(以obj为基础进行了简单的格式化),以便达到快速获得提示信息的目的。
1.脚本内容如下,有兴趣的朋友可以在这个基础上进一步
数据库必知词汇:检查约束(CHECK)
CHECK 约束用于限制列中的值的范围,限制范围取决于<Sql表达式>。如果对单个列定义 CHECK 约束,那么该列只允许特定的值。如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。
1.在项目进行中,新建某个实体的时候,项目启动一直报错
Exception encountered during context initialization - cancelling refresh attempt: org.
要验证Oracle数据库中表的类型,只需知道创建该表的DDL语句,要知道创建该表的DDL语句,可通过Oracle提供的PLSQL包dbms_metadata下的存储过程get_ddl来获取。