Sqlserver2005迁移至Oracle系列之一:生成表(上)
2009-03-03 13:11:25 来源:WEB开发网/*
--for oracle____oracle
--本脚本将产生当前数据库的表的 脚本。包含约束、列上定义的默认值、索引
--不产生check、外键;udf、规则、默认、同义词、存储空间、安全主体及权限等脚本
--产生的脚本不含构架信息,但可以指定要生成脚本的构架
--表名支持like运算
--将sqlserver中的date数据类型都对应为oracle中的timestamp类型,相应的去掉以前---以date型作为主键一部分的表的不创建约束---的做法
*/
/*
--todo
--在sqlserver的长类型和oracle的长类型对应问题,字符的个数限制不一致!暂时不处理!
*/
set nocount on
declare @tabname sysname --支持通配符
declare @schema sysname --构架(默认:dbo)
declare @isenterprise int --是否支持企业功能(0.no;1.yes):create index [online];
--create table partition clause;
declare @istbs int --是否生成自定义表空间(0.no;1.yes),第一次运行时使用
declare @tbspath sysname --自定义表空间的文件路径(默认"d:"),依赖 @istbs = 1,第一次运行时使用
declare @onlydeltbs int --是否只删除自定义表空间(0.no;1.yes),依赖 @istbs = 1
declare @isuser int --是否生成用户(0.no;1.yes),第一次运行时使用
declare @user sysname --用户名称(默认"dbo"),依赖于 @isuser = 1
declare @onlydeluser int --是否只删除用户(0.no;1.yes),依赖于 @isuser = 1 and @user
declare @istable int --是否生成表0.no;1.yes)
declare @onlydeltable int --是否只删除表(0.no;1.yes),依赖 @istable = 1
declare @isindex int --是否生成表索引(0.no;1.yes)
declare @onlydelindex int --是否只删除索引(0.no;1.yes),依赖 @isindex = 1
declare @issequence int --是否生成表序列对象(0.no;1.yes)
declare @onlydelseq int --是否只删除序列对象(0.no;1.yes),依赖 @issequence = 1
declare @issynonym int --是否生成表的同义词(0.no;1.yes)
declare @onlydelsyn int --是否只删除同义词(0.no;1.yes),依赖 @issynonym = 1
set @isenterprise = 0
set @schema = 'dbo'
set @tabname = '%'
set @istbs = 0
set @tbspath = 'z:uc'
set @onlydeltbs = 0
set @isuser = 0
set @user = 'dbo'
set @onlydeluser = 0
set @istable = 1
set @onlydeltable = 0
set @issynonym = 1
set @onlydelsyn = 0
set @isindex = 1
set @onlydelindex = 0
set @issequence = 1
set @onlydelseq = 0
set @tbspath = ltrim(rtrim(@tbspath))
if right(@tbspath,1)<>''
set @tbspath = @tbspath + ''
- ››oracle 恢复误删除的表和误更新的表
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››oracle性能34条优化技巧
- ››oracle数据库生成随机数的函数
- ››Oracle 数据库表空间容量调整脚本
- ››oracle单库彻底删除干净的方法
- ››sqlserver 每30分自动生成一次
- ››Oracle创建表空间、创建用户以及授权、查看权限
赞助商链接