SQL SERVER 存储过程转成 ORACLE存储过程
SQLSERVER(不带参数的)CREATEPROCEDURE[dbo].[A]ASbeginselect*fromaaaend问题:SQLSERVER调用是execA(...
SQL SERVER(不带参数的)
CREATE PROCEDURE [dbo].[A]AS beginselect * from aaaend
问题:SQL SERVER 调用是exec A(VS2010中也是直接定义 'exec A',直接可以调用)
但是换成ORACLE 这个存储过程改怎么写,在哪里调用,用什么语句,放在VS里面又该怎么写。
2.SQL SERVER(带参数的)
ALTER PROCEDURE [dbo].[A]@姓名 VARCHAR(50)AS beginselect * from aaa WHERE 姓名 = @姓名end
问题:SQL SERVER 调用是EXEC dbo.A @姓名 = ''(VS里同理),但是在ORACLE数据库中该怎么写,怎么调用,并且可以在VS中调用ORACLE这个带参数的存储过程
知道的说的仔细点(目前我用的是PL/SQL,测试通过能用就给分)。 展开
CREATE PROCEDURE [dbo].[A]AS beginselect * from aaaend
问题:SQL SERVER 调用是exec A(VS2010中也是直接定义 'exec A',直接可以调用)
但是换成ORACLE 这个存储过程改怎么写,在哪里调用,用什么语句,放在VS里面又该怎么写。
2.SQL SERVER(带参数的)
ALTER PROCEDURE [dbo].[A]@姓名 VARCHAR(50)AS beginselect * from aaa WHERE 姓名 = @姓名end
问题:SQL SERVER 调用是EXEC dbo.A @姓名 = ''(VS里同理),但是在ORACLE数据库中该怎么写,怎么调用,并且可以在VS中调用ORACLE这个带参数的存储过程
知道的说的仔细点(目前我用的是PL/SQL,测试通过能用就给分)。 展开
2个回答
展开全部
--在Oracle里利用PL/SQL创建无输入参数的存储过程
create or replace procedure A
(
temp_cur out sys_refcursor
)
as
begin
open temp_cur for select * from aaa
end A;
--调用
SQL> var robj sys_refcursor;
SQL> exec A(:robj);
SQL> print robj;
--在Oracle里利用PL/SQL创建带输入参数的存储过程
create or replace procedure A
(
v_name in aaa.姓名%type,
temp_cur out sys_refcursor
)
as
begin
open temp_cur for select * from aaa where 姓名=v_name;
end A;
--调用
SQL> var robj sys_refcursor;
SQL> exec A('your name',:robj);
SQL> print robj;
追答
我在Oracle 自带的 Oracle SQL Developer 测试是没问题的。
另外在C#调用Oracle的存储过程和调用MS SQL Server是没区别的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询