Oracle刷建表语句

简介: 代码实例select c.table_name, case when c.column_id=c.COLUMN_ID_MIN then 'create external table '||u.

代码实例

select c.table_name,
       case when c.column_id=c.COLUMN_ID_MIN 
            then 'create external table '||u.USERNAME||'_'||c.table_name||' ( ' 
            else ',' 
       end 
       ||c.sqltxt||
       case when c.column_id=c.COLUMN_ID_MAX 
            then ') row format DELIMITED FIELDS terminated by ''\001'' stored as textfile location ''ZZZZZZZ/' || 
               c.table_name || 
               ''';' 
            else '' 
       end ,
       c.column_id,
       c.COLUMN_ID_MIN,
       c.COLUMN_ID_MAX
from (        
select                 table_name,
                       column_name || ' ' ||
                       case data_type
                       when 'NUMBER' then '    decimal(' || data_length || ',' || nvl(data_scale,0) || ') '
                       when 'FLOAT' then '    decimal(' || data_length || ',' || nvl(data_scale,0) || ') '
                       when 'VARCHAR2' then '    string '
                       when 'DATE' then '    string '
                       when 'INTEGER' then '    decimal(38,0)'
                       when 'CHAR' then '    string '
                       end sqlTxt
                       ,COLUMN_ID
                       ,min(COLUMN_ID)over(partition by table_name) as COLUMN_ID_MIN
                       ,max(COLUMN_ID)over(partition by table_name) as COLUMN_ID_MAX
                from   user_tab_columns 
                --where  table_name='EMP'
                --order  by COLUMN_ID asc     
                )c 
left join user_users u on 1=1               
order by c.table_name,c.COLUMN_ID  asc    
目录
相关文章
|
SQL Oracle 算法
Mybatis: 兼容Oracle数据库批量插入语句
当前项目需要在不同环境下部署,不同环境下有不同的数据库,有pg、oracle、mysql等,项目中的所有sql均为pg数据库相关的sql,由于oracle数据库比较特殊所以需要兼容相关的sql。批量插入的语句,pg和oracle有着较大的差别,不能同一条语句兼顾两种数据库:,所以需要查找方案来解决。
1059 0
|
SQL Oracle 关系型数据库
【数据库】解决 oracle: SQL 错误 [900] [42000]: ORA-00900: 无效 SQL 语句
【数据库】解决 oracle: SQL 错误 [900] [42000]: ORA-00900: 无效 SQL 语句
2344 0
【数据库】解决 oracle: SQL 错误 [900] [42000]: ORA-00900: 无效 SQL 语句
|
Oracle 关系型数据库 数据库
炫“库”行动-人大金仓有奖征文—谈谈oracle建表规范
今天突然想把工作几年在oracle建表相关的知识整理成一个像样的文档分享给大家,为达到数据库开发规范、后期维护方便等目的编写此篇文章,希望大家能重视数据库建表这个“小小的问题”,从小处见大学问,欢迎大家一起讨论。
221 0
|
SQL 存储 Oracle
Oracle数据库 | SQL语句解析
Oracle数据库 | SQL语句解析
289 0
Oracle数据库 | SQL语句解析
|
SQL Oracle 关系型数据库
oracle学习90-oracle之基本的sql_select语句全
oracle学习90-oracle之基本的sql_select语句全
101 0
oracle学习90-oracle之基本的sql_select语句全
|
SQL Oracle 关系型数据库
oracle学习89-oracle之基本的sql_select语句之课后练习
oracle学习89-oracle之基本的sql_select语句之课后练习
110 0
oracle学习89-oracle之基本的sql_select语句之课后练习
|
SQL Oracle 关系型数据库
oracle学习48-oracle命令窗口执行sql语句
oracle学习48-oracle命令窗口执行sql语句
183 0
oracle学习48-oracle命令窗口执行sql语句
|
SQL Oracle 关系型数据库
Oracle ASM磁盘和磁盘组的常用SQL语句
Oracle ASM磁盘和磁盘组的常用SQL语句
284 0
|
Oracle 关系型数据库 数据库
Oracle 常用语句
了解Oracle 常用语句。
|
SQL 存储 Oracle
Oracle数据库 | SQL语句执行计划、语句跟踪与优化实例
Oracle数据库 | SQL语句执行计划、语句跟踪与优化实例
339 0

推荐镜像

更多