当前位置:首页 » 存储配置 » sql存储过程out参数

sql存储过程out参数

发布时间: 2022-12-23 15:50:14

㈠ pl/sql developer中怎么调用带有out参数的存储过程

1、根据存储的out参数个数,定义这些参数

declare
p_codenumber;
p_messagenumber;

2、输入in参数值,调用

P_TASK_DELIVER_ACM(100,p_code,p_message);

3、如下面这个,执行就可以了

㈡ sql存储过程输出参数能带默认值吗

可以,输出参数首先会作为输入参数使用。如果在过程中不更改,那么输出就是默认值。

㈢ SQL中存储过程参数传递有哪几种方法如何获取存储过程的返回值

参数传递?
参数有in参数、out参数、in out参数
变量可用set和select赋值

获取返回值只需设置变量、到时输出就行

单行数据定义固定变量数、
如果结果是数据集、要用游标cursor

㈣ sql存储过程 输出参数

SQL存储过程输出参数:

--===================【创建存储过程】=====================

USE[Message]
GO
/******Object:StoredProcere[dbo].[读取外部数据库查询]ScriptDate:10/24/201205:39:16******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
--=============================================\Working没有变1,错误码没有测试,计划时间测试,企业名称

createPROCEDURE[dbo].[数据库查询]
@SmsContentvarchar(20)='1231',--输入参数
@bj1intout--输入出参数

AS
BEGIN

SELECT@bj1=count(Id)fromsss

END


--===============【调用】==================

USE[Message]

DECLARE@return_valueint

EXEC[dbo].[数据库查询]'1231',@return_valueoutput

SELECT@return_value

㈤ sqlserver存储过程返回out参数类型

不知道你是什么版本的SQL Server?SQL Server 2005支持除了table类型之外的所有数据类型作为参数;SQL Server 2008开始就支持所有数据类型了,包括table类型。 而你的需求应该需要table类型输出,但是如果是SQL Server 2005的话就不支持了。

㈥ SQL 存储过程中参数怎么使用

参数定义
单个参数
1>
CREATE
PROCEDURE
HelloWorld1
2>
@UserName
VARCHAR(10)
3>
AS
4>
BEGIN
5>
PRINT
'Hello'
+
@UserName
+
'!';
6>
END;
7>
go
1>
DECLARE
@RC
int;
2>
EXECUTE
@RC
=
HelloWorld1
'Edward'
;
3>
PRINT
@RC;
4>
go
HelloEdward!
0
IN、OUT、IN
OUT
注:
SQL
Server

OUTPUT
需要写在变量数据类型后面。
SQL
Server
没有
IN
OUT
关键字
OUTPUT
已经相当于
IN
OUT
了。
1>
CREATE
PROCEDURE
HelloWorld2
2>
@UserName
VARCHAR(10),
3>
@OutVal
VARCHAR(10)
OUTPUT,
4>
@InoutVal
VARCHAR(10)
OUTPUT
5>
AS
6>
BEGIN
7>
PRINT
'Hello
'
+
@UserName
+
@InoutVal
+
'!';
8>
SET
@OutVal
=
'A';
9>
SET
@InoutVal
=
'B';
10>
END;
11>
go
1>
2>
DECLARE
@RC
int,
@OutVal
VARCHAR(10),
@InoutVal
VARCHAR(10);
3>
BEGIN
4>
SET
@InoutVal
=
'~Hi~';
5>
EXECUTE
@RC
=
HelloWorld2
'Edward',
@OutVal
OUTPUT,
@InoutVal
OUTPUT;
6>
PRINT
@RC;
7>
PRINT
'@OutVal='
+
@OutVal;
8>
PRINT
'@InoutVal='
+
@InoutVal;
9>
END
10>
go
Hello
Edward~Hi~!
0
@OutVal=A
@InoutVal=B
参数的默认值
1>
CREATE
PROCEDURE
HelloWorld3
2>
@UserName
VARCHAR(10),
3>
@Val1
VARCHAR(20)
=
'
Good
Moning,',
4>
@Val2
VARCHAR(20)
=
'
Nice
to
Meet
you'
5>
AS
6>
BEGIN
7>
PRINT
'Hello
'
+
@UserName
+
@Val1
+
@Val2
+
'!';
8>
END;
9>
go
1>
2>
DECLARE
@RC
int;
3>
BEGIN
4>
EXECUTE
@RC
=
HelloWorld3
'Edward';
5>
PRINT
@RC;
6>
EXECUTE
@RC
=
HelloWorld3
'Edward',
'
Good
Night,';
7>
PRINT
@RC;
8>
EXECUTE
@RC
=
HelloWorld3
'Edward',
'
Good
Night,',
'
Bye';
9>
PRINT
@RC;
10>
END
11>
go
Hello
Edward
Good
Moning,
Nice
to
Meet
you!
0
Hello
Edward
Good
Night,
Nice
to
Meet
you!
0
Hello
Edward
Good
Night,
Bye!
0
指定参数名称调用
此部分使用
“参数默认值”那一小节的存储过程。
用于说明当最后2个参数是有默认的时候,如何跳过中间那个。
1>
DECLARE
@RC
int;
2>
BEGIN
3>
EXECUTE
@RC
=
HelloWorld3
'Edward';
4>
PRINT
@RC;
5>
EXECUTE
@RC
=
HelloWorld3
'Edward',
@Val1='
Good
Night,';
6>
PRINT
@RC;
7>
EXECUTE
@RC
=
HelloWorld3
'Edward',
@Val1='
Good
Night,',
@Val2='
Bye';
8>
PRINT
@RC;
9>
EXECUTE
@RC
=
HelloWorld3
'Edward',
@Val2='
HeiHei
';
10>
PRINT
@RC;
11>
END
12>
go
Hello
Edward
Good
Moning,
Nice
to
Meet
you!
0
Hello
Edward
Good
Night,
Nice
to
Meet
you!
0
Hello
Edward
Good
Night,
Bye!
0
Hello
Edward
Good
Moning,
HeiHei
!
0

㈦ SQL中存储过程out与output有什么不同,感觉它俩是同一个意思,一样的用法,都是用于输出。求

你好题主,刚好最近我也在学习SQL,不过我在学习的是Oracle,

MSSQL和Oracle倒是有很多不同的地方。

所以我特意打开MSSQL的服务,在MSSQL里写了这么一个脚本,希望能帮助到你。

因为本人是做.Net方向的开发者,所以用了C#语言中

以下是脚本内容:

--SQLQueryCreateByFaywool
createprocProc_OutPutTest--创建
@numAint,--numA为存储过程的参数
@numBint,--numB为另一参数
@numReturnintoutput--此为Output,也就是存储过程的返回值
as
begin
if(@numA>@numB)
set@numReturn=@numA
else
set@numReturn=@numB--A>B的时候返回A,否则返回B
end

go


declare@numReceiveint--先声明一个变量用来接收存储过程的返回值
execProc_OutPutTest1,2,@numReceiveoutput
--调用存储过程并用@numReturn接收存储过程的返回值
select@numReceive--将会返回(1,2)中较大的数字:2

go

createprocProc_OutTest--新建存储过程
@numCint,--参数C
@numDint,--参数D
@numEintout--参数E用来返回
as
begin
if(@numC>@numD)
set@numE=@numC--如果C>D,将C赋值给E
else
set@numE=@numD--否则将D赋值给E
end

go


declare@numOutReceiveint--声明一个变量
set@numOutReceive=10000--将变量赋值为10000
select@numOutReceive--变量变为10000
execProc_OutTest1,2,@numOutReceiveout--将(1,2,@numOutReceive)三个数字传入存储过程
select@numOutReceive--再看变量就变成2了
--总结:

--Out是参数,传进、传出,缺一不可,在存储过程定义的时候一定要有out标识,
--在调用该存储过程的时候也要有out标识


--OutPut则是相当于存储过程的返回值
--不用传进,也不能传进
--它是在存储过程中定义,并且输出的

--一句话:Out相当于C#中的ref参数(传进、传出缺一不可),而且传进传出的时候都要标识为ref
--OutPut则为C#中的方法返回值类型,在方法定义时就已经定好了

㈧ sqlserver中存储过程的参数可以有out和output,他们有什么区别

没有OUT这个参数,只有OUTPUT参数,就是需要反正一个值。

㈨ sql存储过程

一、简单的储存过程:
1、创建一个存储过程
create procere GetUsers()
begin
select * from user;
end;12345
2、调用存储过程
call GetUsers();12
3、删除存储过程
drop procere if exists GetUsers;
二、带参数的存储过程
1、MySql 支持 IN (传递给存储过程) , OUT (从存储过程传出) 和 INOUT (对存储过程传入和传出) 类型的参数 , 存储过程的代码位于 BEGIN 和 END 语句内 , 它们是一系列 SQL 语句 , 用来检索值 , 然后保存到相应的变量 (通过指定INTO关键字) ;
2、下面的存储过程接受三个参数 , 分别用于获取用户表的最小 , 平均 , 最大分数 , 每个参数必须具有指定的类型 , 这里使用十进制值(decimal(8,2)) , 关键字 OUT 指出相应的参数用来从存储过程传出
create procere GetScores(
out minScore decimal(8,2),
out avgScore decimal(8,2),
out maxScore decimal(8,2)
)
begin
select min(score) into minScore from user;
select avg(score) into avgScore from user;
select max(score) into maxScore from user;
end;1234567891011
3、调用此存储过程 , 必须指定3个变量名(所有 MySql 变量都必须以 @ 开始) , 如下所示 :
call GetScores(@minScore, @avgScore, @maxScore);12
4、该调用并没有任何输出 , 只是把调用的结果赋给了调用时传入的变量 @minScore, @avgScore, @maxScore , 然后即可调用显示该变量的值 :
select @minScore, @avgScore, @maxScore;
5、使用 IN 参数 , 输入一个用户 id , 返回该用户的名字 :
create procere GetNameByID(
in userID int,
out userName varchar(200)
)
begin
select name from user
where id = userID
into userName;
end;12345678910
6、调用存储过程 :
call GetNameByID(1, @userName);
select @userName;123
参考资料
SQL存储过程使用介绍.csdn博客[引用时间2017-12-31]

㈩ SQL Server 2005 的存储过程,参数后面加OUT表示什么参数

OUT跟OUTPUT一样表示"输出参数"

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:600
制作脚本网站 发布:2025-10-20 08:17:34 浏览:892
python中的init方法 发布:2025-10-20 08:17:33 浏览:585
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:769
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:689
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1016
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:261
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:119
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:809
python股票数据获取 发布:2025-10-20 07:39:44 浏览:718