當前位置:首頁 » 存儲配置 » 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