存储过程迁移.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
存储过程移植约定 为使移植过程更正确、迅速,建议将移植过程规范化处理,以便小组内人员移植时有据可循,使代码宜于相互交流、维护管理。初步设想分三大步: 自动预处理:删除多余的行、直接替换等,可编写宏完成; 半手工半自动处理:对各种语句模式进行转换,可编写程序完成; 手工处理。 应尽量设法增加自动和半自动的处理,减少手工处理,以加快速度。以下分别说明之: 自动预处理: 1、删除多余的行 类型 ms sql 存储过程 备注 tab转换 将每个tab转换为两个空格 方便后续处理 截尾 删除每条语句后的多余空格 方便后续处理 切换数据库语句 use sql2k use run2k use his2k use fil2k use crm2k use oragan2k use tmp2k use master … 存储过程、表都在同一表空间,无需切换 提示信息 print ‘sp_…’ 无对应语句 判断存储过程存在性 if exists(select name from sysobjects where name =… 因oracle创建时可同时替换已存在储存过程,无需此句 删除存储过程 drop procedure… 同上 设置环境变量语句 set nocount on/off set rowcount 0 set transaction isolation level read uncommitted set transaction isolation level read committed(默认就是committed) 无对应语句 set transaction先注释保留 set rowcount 非0的要保留,使用rownum代替后注释。 授权语句 grant all on…to handsome 释放游标 deallocate*cusr 连续两行go,可删除一行 因这些情况为删除其它语句形成,故在最后处理,注意此时go还未替换为/ 注释后有一行go,可删除一行go 2、直接替换项 类型 ms sql oracle 备注 变量前缀 @开头 替换为p_开头 全局变量@@rowcount等在后面做特殊处理 字符型变量类型 char( varchar( varchar2( 为简化空值、逻辑判断处理和提高存储性能、查询效率 go换行符 /换行符 如无换行符则可能将其它go替换掉 数据库引用 run2k.. sql2k.. 空串 创建存储过程语句 create空格procedure create or replace function 加密语句 with空格encryption return number ; 无对应项 变量声明语句 declare空格 空串 注意sql server语句体内也可声明变量,需一起移到声明段 插入语句 insert空格… insert into … 需注意可能原来就是insert into的情况 事务开始语句 begin transaction/ tran 空串或注释掉 回滚语句 rollback transaction/ tran rollback; 事务提交语句 commit transaction/ tran commit; 回车换行符 char(13) chr(13) 字符串相加 +,如: ’ + + ‘ 替换为||,如: ‘ || || ‘ 注意不能把数值计算的+替换掉 空字串 ‘’ ‘ ‘ 因在oracle中空字串为空值,原默认值空字串替换为空格。 返回错误信息 p_error_info pi_error_info p_error_info只用于返回错误信息 常见函数替换 else if elsif end回车换行 end if;回车换行 因end一般为配合if使用,故作此处理,其它如while语句后的end特殊处理 空值函数 isnull(…) nvl(…) 取子串 substring(…) substr(…) oracle中起始位0和1等效 字串长度 len(…) datalength(…) length(…) 不要直接替换len,防止变量中出现len 最小整数…) ceil(...) 循环退出 break exit 字段保留字 空格date, 空格online, 空格date_, 空格online_,level 须大小写匹配,防止将自定义类型Date替换掉 整除取余数 空格%空格 空格mod空格 游标状态 p_p_fetch_status (游标名)%found 游标名需手工处理 二、半手工半自动处理 模式语句处理 类型 语句单元 or

文档评论(0)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档