Oracle的存储过程如何转成SQL Server存储过程

dzg2002 2005-11-19 12:08:33
大概意思如下,主要是考虑如何在一个事物中进行处理,
成功就返回1,失败返回0
oracle:
create or replace procedure test(p_retVal out number)
is

begin
p_retVal := 0;

begin
insert into staff(id, name) values('10011','Michael');
insert into area(id, name) values('40022','北京');
commit;
p_retVal := 1;
exception
when others then
rollback;
end;

两个insert语句在同一个事物中执行,如果执行则同时提交,否则都回滚。在Oracle中我是测试没有问题。现在我要转到SQL Server中.用SQL Server代码如何实现.
...全文
205 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hpretty 2005-11-19
  • 打赏
  • 举报
回复
那你不妨先学习SQL Server 和存储过程是如何写的。

其实没有多大区别的。只是语法有区别而已。
ab5669 2005-11-19
  • 打赏
  • 举报
回复
begin transaction
insert into staff(id, name) values('10011','Michael')
if @@error<>0
begin
rollback transaction
return 1
end
insert into area(id, name) values('40022','北京')
if @@error<>0
begin
rollback transaction
return 1
end
commit transaction
return 0

dzg2002 2005-11-19
  • 打赏
  • 举报
回复
我的意思是如果成功的话.两个都插入了,返回 0。
否则就回滚,返回 1
常遇道 2005-11-19
  • 打赏
  • 举报
回复
用这两个就行了
insert into staff(id, name) values('10011','Michael')
insert into area(id, name) values('40022','北京')

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧