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……谢谢
但是我是想执行一个存储过程后,直接返回表里所有数据,不要再去操作游标。
Ⅱ sql 存储过程里面如何 对数据集循环
A. 在简单的游标中使用 FETCH
以下示例为 Person.Contact 表中姓氏以字母 B 开头的行声明了一个简单的游标,并使用 FETCH NEXT 逐个提取这些行。FETCH 语句以单行结果集形式返回在 DECLARE CURSOR 中指定的列的值。
USEAdventureWorks
GO
DECLAREcontact_cursorCURSORFOR
SELECTLastNameFROMPerson.Contact
WHERELastNameLIKE'B%'
ORDERBYLastName
OPENcontact_cursor
--Performthefirstfetch.
FETCHNEXTFROMcontact_cursor
--Check@@FETCH_.
WHILE@@FETCH_STATUS=0
BEGIN
--.
FETCHNEXTFROMcontact_cursor
END
CLOSEcontact_cursor
DEALLOCATEcontact_cursor
GO
B. 使用 FETCH 将值存入变量
以下示例与示例 A 相似,但 FETCH 语句的输出存储于局部变量而不是直接返回到客户端。PRINT 语句将变量组合成单一字符串并将其返回到客户端。
USEAdventureWorks
GO
--.
DECLARE@LastNamevarchar(50),@FirstNamevarchar(50)
DECLAREcontact_cursorCURSORFOR
SELECTLastName,FirstNameFROMPerson.Contact
WHERELastNameLIKE'B%'
ORDERBYLastName,FirstName
OPENcontact_cursor
--.
--Note:
--intheSELECTstatement.
FETCHNEXTFROMcontact_cursor
INTO@LastName,@FirstName
--Check@@FETCH_.
WHILE@@FETCH_STATUS=0
BEGIN
--.
PRINT'ContactName:'+@FirstName+''+@LastName
--.
FETCHNEXTFROMcontact_cursor
INTO@LastName,@FirstName
END
CLOSEcontact_cursor
DEALLOCATEcontact_cursor
GO
Ⅲ SQL SERVER怎么获取存储过程返回的数据集
数据集可以用print的方式返回。
1、创建测试表、插入数据:
createtabletest
(idintnotnull,
namevarchar(10))
insertintotestvalues(1,'张三')
insertintotestvalues(2,'李四')
表里数据如图:
Ⅳ 如何在一个PL/SQL存储过程中输出一个数据集
如何在一个PL/SQL存储过程中输出一个数据集
我记得sql
server
可以直接返回的
不需要传入数据集参数,只要最后一条是你要执行的SQL就会自动返回.
Ⅳ sql存储过程与结果集
直接这么写:
INSERT INTO TABLE1(field1,field2,...)
SELECT value1,value2,... from TABLE2 WHERE ...
存储过程最后直接写一个select 语句,外界就可以拿到这个结果集了,不需要用OUTPUT参数
Ⅵ 使用SQL存储过程返回多结果集怎么处理
1、返回结果集
这是客户端应用程序返回结果的最通用的方法。结果集是通过使用SELECT语句选择数据产生的。结果集可以从永久表、临时表或局部变量中产生。将结果返回到另一个存储过程不是一种有效的方法。存储过程不能访问另一个存储过程建立的结果集。
例如从永久表中返回结果集:
USE pubs
GO
CREATE PROCEDURE ap_CreateResultFromPermtable
AS
SELECT au_iname FROM authors
例如从局部变量中创建结果集:
USE pubs
GO
CREATE PROCEDURE ap_CreateResultFromVariable
AS
DECLARE @au_iname char(20)
SELECT @au_iname = au_iname FROM authors
WHERE au_id = ‘172-32-1176’
SELECT @au_id
GO
Ⅶ 如何查看SQL存储过程执行的结果集
打开SQL Server Management Studio找到存储过程所在的数据库。在对象资源管理器详细信息中可以看到存储过程的文件夹。
点击打开这个文件夹可以,在搜索中输入要搜索的存储过程名称。
同样也可以在数据库目录结构处选择存储过程右键菜单中的筛选设置。
在这里可以进行详细的条件筛选设置。将需要查看的存储过程搜索出来。
找到这个SQL存储过程之后,也可以右键点击菜单中的修改,进入SQL存储过程编辑。
查看SQL存储过程过程是否带有参数,因为要执行SQL存储过程时需要使用的参数。
知道SQL存储过程的参考类型和基本功能之后,就可以使用的EXEC 存储过程名+参数来执行SQL存储过程。
最后在下方查看SQL存储过程执行结果。
Ⅷ SQL的存储过程是什么
存储过程(Stored Procere)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。总的来说,存储过程具有以下一些优点:
◆存储过程允许标准组件式编程
◆存储过程能够实现较快的执行速度
◆存储过程能够减少网络流量
◆存储过程可被作为一种安全机制来充分利用
基本语法如下:
完整的语法规则如下:
CREATE PROC [ EDURE ] procere_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
AS sql_statement [ ...n ]
Ⅸ sql server存储过程如何输出结果集
sql
server
存储过程
输出
结果集
还是比较简单的.
直接在
存储过程里面执行
SQL
语句就可以了。
例如:
--
测试返回结果集的存储过程
CREATE
PROCEDURE
testProc
AS
BEGIN
SELECT
'Hello
1'
AS
A,
'World
1'
AS
B
UNION
ALL
SELECT
'Hello
2'
AS
A,
'World
2'
AS
B;
END
go
剩下的,
就是你用
别的开发语言,
例如
C#
什么的
,
调用这个存储过程,
获取结果集了。
Ⅹ sql 存储过程,返回数据集 并返回总行数
1、打开SQLServerManagementStudio找到存储过程所在的数据库。在对象资源管理器详细信息中可以看到存储过程的文件夹。