初学oracle,问1个简单的sql语句

Vicar2 2012-08-01 04:51:33
以下是我简化了的一个SQL Server的过程,我想把以下的过程翻译成ORACLE语句。
可是不知道该如何去实现IF NOT EXISTS语句和返回。请帮帮忙,多谢了!


CREATE PROCEDURE sp_ConvertInv(@FID int, @OutInfo varchar(200))
AS
IF NOT EXISTS(SELECT 1 FROM T_Free WHERE FID = @FID)
BEGIN
SET @OutInfo = 'Not Found'
RETURN
END

SET @OutInfo = ''

GO
...全文
51 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
人生无悔 2012-08-01
  • 打赏
  • 举报
回复

--寫反了,改一點
create or replace procedure sp_ConvertInv(
p_FID int,
p_OutInfo out varchar2)
is
rc int := 0;
begin
select count(1) into rc FROM T_Free WHERE FID = p_FID;
if rc=0 then--應是=0是沒找到
p_OutInfo := 'Not Found';
else
p_OutInfo := ' ';
end if;
dbms_output.put_line(p_OutInfo);
exception
when others then
dbms_output.put_line('errors');
end;
/
--測試

declare
p_FID int;
p_OutInfo varchar2(100);
begin
p_FID := 1;
sp_ConvertInv(p_FID,p_OutInfo);
end;
/
人生无悔 2012-08-01
  • 打赏
  • 举报
回复

create or replace procedure sp_ConvertInv(
p_FID int,
p_OutInfo out varchar2)
is
rc int := 0;
begin
select count(1) into rc FROM T_Free WHERE FID = p_FID;
if rc<>0 then
p_OutInfo := 'Not Found';
else
p_OutInfo := '';
end if;
exception
when others then
dbms_output.put_line('errors');
end;
/

17,377

社区成员

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

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