‘壹’ oracle存储过程怎么返回结果集
你这不是已经写好了嘛。
外层调用程序只要声明变量mycursor并且作为参数传到emp_pro存储过程中,执行结束后就可以使用了。
‘贰’ 存储过程如何把一个结果集放在一张表里面并返回来
结果集有必要放在表里面返回来,直接返回游标就可以了,结果集也可以看作是张表的。
DB2的的解决方案:
1.声明存储过程的时候,在声明之后添加 RESULT SETS 1,表示返回一个结果集,示例如下:
CREATE PROCEDURE YOUPRO(IN P_UserId INTEGER)
LANGUAGE sql
RESULT SETS 1
------------------------------------------------------------------------
-- SQL 存储过程(获取用户信息)
------------------------------------------------------------------------
P1: BEGIN
--声明会使用到的参数
.... ....
... .....
2.在存储过程中声明一个游标,然后返回,示例如下:
DECLARE C1 CURSOR WITH RETURN FOR SELECT *FROM TABLE;
OPEN C1;
Oracle的解决方案:
1.先定义一个包,示例如下:
create or replace package CursorPackage as
type my_cursor is ref cursor;
end CursorPackage;
2.在存储过程返回参数使用这个定义的参数,示例如下:
create or replace procere YOUPRO(P_UserId IN NUMBER, C_Return OUT CursorPackage.my_cursor)IS ... ... ..
3.存储过程中,给返回参数赋值,示例如下:
OPEN C_Return FOR SELECT * FROM TABLE;
Sql Server的解决方案
直接返回SELECT * FROM TABLE,SqlServer中可以直接返回结果。
希望对你有帮助!
‘叁’ sql存储过程与结果集
直接这么写:
INSERT INTO TABLE1(field1,field2,...)
SELECT value1,value2,... from TABLE2 WHERE ...
存储过程最后直接写一个select 语句,外界就可以拿到这个结果集了,不需要用OUTPUT参数
‘肆’ 数据库存储过程能返回多个结果集吗
create table test
(
id int identity primary key,
name varchar(50)
)
go
insert into test
select 'aaa' union
select 'bbb' union
select 'ccc'
go
select * from test
go
--创建存储过程
if exists(select * from sysobjects where name='proc_test1')
drop procere proc_test1
go
create procere proc_test1
as
begin
declare @table table(id int,name varchar(50))
declare @table1 table(id int,name varchar(50))
insert into @table select * from test
insert into @table1 select * from test
select * from @table
select * from @table1
end
--返回表
exec proc_test1
‘伍’ 存储过程这样写执行后能返回一个数组结果集呢
在包里定义一个Type,类似于下面的
Type Public_Rec IS Record( --Pubilc_Rec类型名字,你可以随意
id XXX.id%TYPE, -- id相当于map里的key,类型与XXX表里的id字段一致
name XXX.name%TYPE
);
你可以根据自己的需要丰满上面的语句。
使用的时候,定义变量
rec_ Public_Rec;
select id, name into rec_ from XXX;
@SELECT_STRING=concat("select * into rec_ from student");
‘陆’ 我要创建一个oracle存储过程,能返回查询的结果集,然后可以调用这个结果集,求大侠指教
项目、版本多么?
提供思路:
创建一个游标,将“项目”、“版本”先查出来赋给查询语句,然后将查询结果插入临时表。
‘柒’ SQL存储过程返回的两个结果集,怎么插入到临时表
在接收结果的过程或代码中循环读取结果数据,再插入即可,又或者你可以在将要返回结果集的存储过程中直接插入临时表
‘捌’ sql中如何通过存储过程返回结果集
引用
4
楼
oraclefans_
的回复:想麻烦了。。你直接返回游标就是一个结果集合。。CREATE
OR
REPLACE
PROCEDURE
USP_RETN_VAL(
RETN_VAL_CUR
OUT
sys_refcursor)ISBEGIN
OPEN
RETN_VAL_CUR
FOR
SELECT
*
FROM
TBL1;END;调用declare
cur
sys_refcurso……谢谢
但是我是想执行一个存储过程后,直接返回表里所有数据,不要再去操作游标。
‘玖’ Oracle如何看到存储过程返回的结果集
自定义个变量来获取返回结果,然后用个循环把结果打印出来