oracle与sql server大批量存储过程可以替换部分

   1、将oracle 建立存储过程的代码 CREATE OR REPLACE Procedure 存储过程名中的 OR REPLACE 替换为空

  2、将oracle的变量(和字段名不重名的)直接替换成@变量名。

  例如: user_id 替换为 @user_id

  3、将IS 替换为 AS。 (注意:需要手工将begin 提前到AS下面)。

  4、下面4条为游标部分

  将oracle游标CURSOR CurA IS 替换为 DECLARE CurA CURSOR LOCAL FOR

  将oracle游标 fetch CurA into替换为Fetch next from CurA Into

  将oracle游标IF (curA%NOTFOUND) THEN 替换为IF (@@fetch_status <> 0) BEGIN

  将oracle游标IF (curA%FOUND) THEN 替换为IF @@fetch_status = 0 BEGIN

  5、 将oralce中的;(分号) 替换为 空格

  6、 将oracle的复制符号:=替换为=, 当然前面的SET符号必须自己手工一个一个添加。

  7、 将oracle所有的then替换为begin, 将所有的end if 替换为 end

  8、 将oracle参数里的 空格IN空格 替换 空格 (注意这里是 空格in空格 )

  9、 将oralce NVL函数替换为ISNULL

  10、将oracle里当前时间的函数 SYSDATE 替换为 GETDATE

  11、将Oracle里的varchar2 替换成 varchar (注意需要自己添加varchar的具体大小)

  12、将oracle 里的ELSIF 替换成 ELSE IF

  13、将oracle连接字符串||替换为SQL Server连接字符串 +

时间: 2024-12-27 22:38:47

oracle与sql server大批量存储过程可以替换部分的相关文章

Oracle与Sql Server差异点详解

1.create函数或存储过程异同点       Oracle 创建函数或存储过程一般是 create or replace --       SQL SERVER 则是在创建之前加一条语句,先判断是否已经存在,如果存在删除已有的函数或存储过程. 函数语句: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[函数名]') and xtype in (N'FN', N'IF', N'TF')) drop fu

简单谈基于SQL SERVER 分页存储过程的演进

server|存储过程|分页 简单谈基于SQL SERVER 分页存储过程的演进 作者:郑佐日期:2006-9-30 针对数据库数据在UI界面上的分页是老生常谈的问题了,网上很容易找到各种"通用存储过程"代码,而且有些还定制查询条件,看上去使用很方便.笔者打算通过本文也来简单谈一下基于SQL SERVER 2000的分页存储过程,同时谈谈SQL SERVER 2005下分页存储过程的演进. 在进行基于UI显示的数据分页时,常见的数据提取方式主要有两种.第一种是从数据库提取所有数据然后在

SQL Server编写存储过程小工具(三)

server|存储过程 SQL Server编写存储过程小工具 功能:为给定表创建Update存储过程 语法: sp_GenUpdate <Table Name>,<Primary Key>,<Stored Procedure Name> 以northwind 数据库为例 sp_GenUpdate 'Employees','EmployeeID','UPD_Employees' 注释:如果您在Master系统数据库中创建该过程,那您就可以在您服务器上所有的数据库中使用该

SQL Server编写存储过程小工具(二)

server|存储过程 SQL Server编写存储过程小工具 以下是两个存储过程的源程序 /*=========================================================== 语法: sp_GenInsert <Table Name>,<Stored Procedure Name> 以northwind 数据库为例 sp_GenInsert 'Employees', 'INS_Employees' 注释:如果您在Master系统数据库中创建该

SQL Server 2005存储过程编写指导

    本文让我们谈谈关于这种编写存储过程的新方法的五个常见问题.它们值得你一读的-- 在SQL Server 2000中,只有一种方法编写存储过程:使用T-SQL 语句.学习以前版本的SQL Server中存储过程的编写是一门课程.但是SQL Server 2005让你使用.NET语言家族(主要是VB.NET和C#)来编写存储过程(以及函数.触发器和其他的一些东西)成为可能. 1. 我为什么要使用CLR模型来写存储过程? 主要是因为数据.SQL CLR在一些方面执行较快:其中,字符串处理要比T

SQL Server与存储过程的比较

本文从多个角度阐述了SQL Server与存储过程的比较. ①为什么要使用存储过程? 因为它比SQL语句执行快. ②存储过程是什么? 把一堆SQL语句罗在一起,还可以根据条件执行不通SQL语句. ③来一个最简单的存储过程: CREATE PROCEDURE dbo.testProcedure_AXASselect userID fromUSERS order by userid desc 注:dbo.testProcedure_AX是你创建的存储过程名,可以改为:AXzhz等,别跟关键字冲突就行

Oracle与SQL Server的互连

不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂商的具体实现技术不一样,如:在SQL SERVER里面叫做LINKED SERVER,通过ODBC实现与其它数据库的互联. 而ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway),当然之前ORACLE还采用过通用连接技术.目前ORACLE利用透明网关可以实现和SQL SERVER.SYBASE.DB2等多种数据库的互联. 透明网关的体系结构也很简单,在ORACLE和

sqlserver-如何获取SQL SERVER 2008 存储过程参数默认值

问题描述 如何获取SQL SERVER 2008 存储过程参数默认值 比如我的存储过程创建语句如下: CREATE PROC [dbo].[SearchBillDetail] ( @OpBeginDate DATETIME , @OpEndDate DATETIME , @BillTypeID INT , @BillOperType INT , @SaleOperID INT = 1, @DrCompID INT = NULL ) AS SET NOCOUNT ON -- 后面省略 这是我需要通

在sql server中建存储过程,如果需要参数是一个可变集合怎么处理?

在sql server中建存储过程,如果需要参数是一个可变集合的处理 原存储过程,@objectIds 为可变参数,比如 110,98,99 ALTER PROC [dbo].[Proc_totalScore] @categoryKey int, @objectIds VARCHAR(MAX) AS BEGIN      SELECT c.Name,AVG(e.Score) Score FROM dbo.Sys_com_comment_main m      INNER JOIN dbo.sys