当前位置:首页 » 编程语言 » 存储过程返回sql执行结果
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

存储过程返回sql执行结果

发布时间: 2023-01-18 08:56:56

1. sql执行存储过程 如何输出结果

sql
server存储过程
输出结果集
还是比较简单的.
直接在
存储过程里面执行
sql
语句就可以了。
例如:
--
测试返回结果集的存储过程
create
procere
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#
什么的

调用这个存储过程,
获取结果集了。

2. SQL 取存储过程的返回值

你这个存储过程,这样直接返回字符串,是不行的。存储过程直接返回,只能返回int类型的数据,或者是int类型的字符串。

你需要为你的存储过程定义一个输出参数。然后在调用时,接收这个输出参数。

3. 如何查看SQL存储过程执行的结果集

打开SQL Server Management Studio找到存储过程所在的数据库。在对象资源管理器详细信息中可以看到存储过程的文件夹。

点击打开这个文件夹可以,在搜索中输入要搜索的存储过程名称。

同样也可以在数据库目录结构处选择存储过程右键菜单中的筛选设置。

在这里可以进行详细的条件筛选设置。将需要查看的存储过程搜索出来。

找到这个SQL存储过程之后,也可以右键点击菜单中的修改,进入SQL存储过程编辑。

查看SQL存储过程过程是否带有参数,因为要执行SQL存储过程时需要使用的参数。

知道SQL存储过程的参考类型和基本功能之后,就可以使用的EXEC 存储过程名+参数来执行SQL存储过程。

最后在下方查看SQL存储过程执行结果。

4. oracle 存储过程是用什么系统变量返回sql语句的执行结果的

DECLARE
v_cursor NUMBER;
v_stat NUMBER;
aa VARCHAR(100);
bb VARCHAR(100);
cc VARCHAR(100);
dd VARCHAR(100);
v_sql VARCHAR(200);
BEGIN
v_sql :='select * from aaa';
v_cursor := dbms_sql.open_cursor; --打开游标;
dbms_sql.parse(v_cursor, v_sql, dbms_sql.native); --解析动态SQL语句;
dbms_sql.define_column(v_cursor, 1, aa,100); --定义列
dbms_sql.define_column(v_cursor, 2,bb, 100);
dbms_sql.define_column(v_cursor, 3,cc,100);
dbms_sql.define_column(v_cursor, 4, dd,100);
v_stat := dbms_sql.execute(v_cursor); --执行动态SQL语句。

5. SQL存储过程返回值问题

USE [Test]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
---------1
alter tablle dbo.Dim_Structure add updateSTATUS varchar(6)
go
---------1
ALTER PROCEDURE [dbo].[USP_ZJ_Dim]
AS
SET NOCOUNT ON;
BEGIN
declare @StructureType nvarchar(255)
declare @CatecodeID nvarchar(255)
declare @StructureCode nvarchar(255)
declare @Owner nvarchar(255)
declare @Email nvarchar(255)
---------------0
declare ZJ_dim cursor for
select [StructureType],[CatecodeID],[StructureCode],[Owner],[Email]
from test.dbo.lander
Open ZJ_Dim
Fetch next from ZJ_dim into @StructureType,@CatecodeID,@StructureCode,@Owner,@Email
While @@FETCH_STATUS=0
Begin
Update dbo.Dim_Structure
Set Owner =@Owner,Email=@Email
where StructureType=@StructureType and CatecodeID=@CatecodeID and StructureCode=@StructureCode
--------------------2
if @@rowcount>0
update dbo.Dim_Structure set updateSTATUS='sucess' where StructureType=@StructureType and CatecodeID=@CatecodeID and StructureCode=@StructureCode
else
update dbo.Dim_Structure set updateSTATUS='failer' where StructureType=@StructureType and CatecodeID=@CatecodeID and StructureCode=@StructureCode
--------------------2
Fetch next from ZJ_dim into @StructureType,@CatecodeID,@StructureCode,@Owner,@Email
End
Close ZJ_Dim
-----------3
deallocate ZJ_Dim
------------3
End

--1添加新列,如果有updateSTATUS字段就不用添加了,把我代码里的updateSTATUS换成已有字段名
--2我添加的代码

--3建议注销游标,游标不注销太耗费内存
--0可将1写道0的位置(不建议)

6. 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……谢谢
但是我是想执行一个存储过程后,直接返回表里所有数据,不要再去操作游标。

7. Oracle [存储过程] 执行动态拼接SQL语句并返回结果

建议你用 instr函数,v_sql条件改为
where instr(p_jbm,t.jbm)>0试试吧。

8. Oracle存储过程怎么返回结果

这个存储过程你可以在TEST的环境下查看结果,不过你需要隐式游标来进行操作,那样才能看到,具体步骤如下:
1、首先我们要借助游标,因此需要先定义一个返回类型的游标
create or replace package type_difinition
as
type mycursor is ref cursor;
end type_difinition;
2、改写你的存储过程,要想查看执行SQL后结果需要一个返回参数,这个参数即上面定义的游标
类型
create or replace procere select_pro(
p_result out type_difinition.mycursor -- 返回结果
)
is
syn_sql varchar2(200) default '';
begin
syn_sql := 'select * from emp';
-- 此处打开游标,并把需执行的SQL赋值给游标
open p_result for syn_sql;
end select_pro;
3、执行编译通过后,右键点击存储过程的名字,跳出框,选择Test一项,进入Test界面
4、点击编译、再点击执行
5、Test界面的底部界面,有个Variable Type value的列表,此时你可以点击Value值里面的
... 按钮,即可查看结果,由于不怎么会应用这个编辑器,本想把图片上传给你,如有不解,再详问,希望回答对楼主有帮助

9. 使用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

10. serversql存储过程查询怎么返回结果

返回结果的方式有很多我说两种,一种是利用存储过程的参数可以把存储过程的结果返回,另外一种是在外部接收存储过程内部return出来的结果。当然啦,还可以在存储过程内部select要返回的结果。

比如:

createproctest
@p_errormsgvarchar(80)=''out
as
select@p_errormsg='测试'
return-100
go

--------------------------------------------------------------

declare@errorcodeint
declare@errormsgvarchar(80)
exec@errorcode=test@errormsgout

select@errorcodeaserrorcode,@errormsgaserrormsg
--@errorcode是return出来的结果@errormsg是输出参数@p_errormsg的执行结果