WEB开发网      婵犵數濞€濞佳囧磹婵犳艾鐤炬い鎰堕檮閸嬬喐銇勯弽銊с€掗梻鍕閺岋箑螣娓氼垱笑闂佽姘﹂褔婀佸┑鐘诧工妤犲憡绂嶉崜褏纾奸弶鍫涘妼缁楁岸鏌熷畡鐗堝殗闁诡喒鏅犲畷褰掝敃閵堝棙顔忔繝鐢靛仦閸ㄥ爼骞愰幘顔肩;闁规崘绉ぐ鎺撳亹闁绘垶锕╁Λ鍕⒑閹肩偛濡奸悗娑掓櫇缁顓兼径妯绘櫇闂佹寧绻傞弻濠囨晝閸屾稓鍘甸柣搴㈢⊕閿氶柣蹇ョ稻缁绘繃绻濋崘銊т紝闂佽鍨伴崯鏉戠暦閻旂⒈鏁傞柛鈾€鏅欑槐妯衡攽閻愬樊鍤熷┑顔藉劤铻為柛鏇ㄥ墯閸欏繘鏌嶉崫鍕櫣缂佲偓婢跺绠鹃柟瀛樼箘閿涘秵顨ラ悙顏勭伈闁诡喖缍婂畷鎯邦槻婵℃彃顭烽弻娑㈠Ω閵夈儺鍔夌紓浣稿€哥粔褰掑极閹剧粯鏅搁柨鐕傛嫹 ---闂傚倷鐒︾€笛兠洪埡鍛闁跨噦鎷�
开发学院数据库Oracle Sqlserver2005迁移至Oracle系列之一:生成表(上) 阅读

Sqlserver2005迁移至Oracle系列之一:生成表(上)

 2009-03-03 13:11:25 来源:WEB开发网 闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹闂傚倷绀侀幉锟犲垂閻㈠灚宕查柟鎵閸庡秵銇勯幒鎴濃偓鐢稿磻閹炬枼妲堟繛鍡楃С濞岊亞绱撻崒姘扁枌闁瑰嚖鎷�婵犵數濮幏鍐川椤撴繄鎹曢梻渚€娼уú銈吤洪妸鈺佺劦妞ゆ帊鑳堕埊鏇㈡煏閸モ晛浠х紒杈╁仱閺佹捇鏁撻敓锟�闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹  闂傚倷鑳舵灙缂佺粯顨呴埢宥夊即閵忕姵鐎梺缁樺姇閹碱偆鐥閺屾洘绻濊箛鏇犵獥闂佺厧澹婃禍婊堚€旈崘顏佸亾閿濆骸澧ù鐘欏嫮绠鹃柛顐ゅ枎閻忋儲銇勯弴妯哄姦妞ゃ垺鐟╅幃鈩冩償閵囧府鎷�
核心提示:/*--for oracle____oracle--本脚本将产生当前数据库的表的 脚本,包含约束、列上定义的默认值、索引--不产生check、外键;udf、规则、默认、同义词、存储空间、安全主体及权限等脚本--产生的脚本不含构架信息,Sqlserver2005迁移至Oracle系列之一:生成表(上),但可以指定要生成脚

/*
--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 + ''

1 2 3 4 5 6  下一页

Tags:Sqlserver 迁移 Oracle

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接