SQL SERVER转ORACLE问题(基础格式送分问题,帮帮师妹吧)

qingth 2003-10-25 12:05:28
各位师兄:
原先是做SQL SERVER的,现在转做一个有关ORACLE的项目。
有一些基础问题向各位请教:
1、SQL中查询表的存储过程很简单。
如:create proc test
as
select * from temp
只要运行exec test便可查询出表temp的记录,
而ORACLE中应该怎么做?才能取得这样的结果?
2、传出参数的存储过程的运行
create procedure get_value(str1 in number,str2 in number,str3 out number)
as
begin
str3:=str1+str2;
end;
SQL运行时:
declare @v_str int
exec get_value 1,2,@v_str output
select @v_str
即可看到@v_str的值
而ORACLE运行时:
declare
v_str number;
begin
get_value(1,1,v_str);
end;倒是可以运行,但却看不到参数v_str的值,应该如何做?
很急,谢谢各位赐教。
...全文
26 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lijiang0391 2003-11-09
  • 打赏
  • 举报
回复
up
flowing2k 2003-11-07
  • 打赏
  • 举报
回复
mark
男人看胆 2003-10-31
  • 打赏
  • 举报
回复
beckhambobo 2003-10-28
  • 打赏
  • 举报
回复
问题一:
create package test_age
as
type mycursor is ref cursor;
end;
/
create proc test(p_rc out test_age.mycursor)
as
begin
open p_rc for 'select * from temp';
end;
/
问题二:
create procedure get_value(str1 in number,str2 in number,str3 out number)
as
begin
str3:=str1+str2;
end;
SQL运行时:
set serveroutput on
declare
v_str number;
begin
get_value (1,2,v_str);
dbms_output.put_line(v_str);
end;
/
yonghengdizhen 2003-10-28
  • 打赏
  • 举报
回复
如果是ado
通过commmad对象执行得到参数集,取回返回参数值
lynx1111 2003-10-25
  • 打赏
  • 举报
回复
1。搜索“结果集”
CREATE OR REPLACE PACKAGE pkg_test
AS
TYPE myrctype IS REF CURSOR;

PROCEDURE get (p_id NUMBER, p_rc OUT myrctype);
END pkg_test;
/

CREATE OR REPLACE PACKAGE BODY pkg_test
AS
PROCEDURE get (p_id NUMBER, p_rc OUT myrctype)
IS
sqlstr VARCHAR2 (500);
BEGIN
IF p_id = 0 THEN
OPEN p_rc FOR
SELECT ID, NAME, sex, address, postcode, birthday
FROM student;
ELSE
sqlstr :=
'select id,name,sex,address,postcode,birthday
from student where id=:w_id';
OPEN p_rc FOR sqlstr USING p_id;
END IF;
END get;
END pkg_test;
/


hdkkk 2003-10-25
  • 打赏
  • 举报
回复
你可以搜索一下
或者看faq,有着个问题的详细解答
qingth 2003-10-25
  • 打赏
  • 举报
回复
还有一个问题就是:
以前在SQL中存储过程执行时,如果有错。可以通过一个传出参数解决。
比如:
create proc test
@bz varchar(20)
as
begin
.....
if (@@error=0)
select @bz='过程处理成功!'
else select @bz='过程处理失败!'
end

前台程序想通过传出的参数,进行判断,可如何得到这个参数呢?
qingth 2003-10-25
  • 打赏
  • 举报
回复
我用的就是plsql developer
WHAPHY 2003-10-25
  • 打赏
  • 举报
回复
对了,plsql developer 真是个很好的工具,可以对oracle的数据库进行管理,很方便的
tangren 2003-10-25
  • 打赏
  • 举报
回复
下载一个plsql developer吧,最好用的oralce工具,可以调试存储过程,什么变量都可查看,下载地址:
www.51delphi.com

17,377

社区成员

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

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