當前位置:首頁 » 存儲配置 » sql存儲過程in參數

sql存儲過程in參數

發布時間: 2022-06-16 06:16:21

java調用oracle存儲過程 關於sql裡面in函數參數的問題

調用存儲過程是java 把組合起來的字元串傳到資料庫後台操作,如果你in ( pkStagesPersonArray),傳到資料庫後台還是 in ( pkStagesPersonArray) 而非你想要的 in('1330251','1336140' )所以你應該把pkStagesPersonArray 裡面的內容轉換成 '1330251','1336140' 再拼接起來

㈡ 關於sqlserver中存儲過程裡面in關鍵字的使用

首先就是@chooseid的問題
如果你這樣in的話
即使你的 @chooseid=1,2,3
他也會把這幾個看做一個整體
也就是把 id 同 '1,2,3'這個整體去比對
而不是拆開

這樣的話只能用動態去構建

declare @sql varchar(1000)
set @sql=''
select @sql='delete from table1 where id in ('+ @chooseid+') and uid='+@uid
exec(@sql)

動態構建 也是可以增加@uid的條件的啊...
不太明白你的意思
你可以把代碼寫全
肯定是可以動態的
寫全了 我給你寫

㈢ 如何用SQL語言定義一個存儲過程, 帶In型參數p_tno

CREATE PROCEDURE [dbo].[yourSPName]
@tno Int
AS
BEGIN
select * from teacherinfo where p_tno=@tno
END

--執行
yourSPName 123

㈣ sql 存儲過程 IN參數表名

以下寫法供參考:
CREATE PROCEDURE `test1`(IN tab_name VARCHAR(40) )BEGIN
SET @t1 =CONCAT('SELECT * FROM ',tab_name );
PREPARE stmt3 FROM @t1;
EXECUTE stmt3;
DEALLOCATE PREPARE stmt3;END $$

㈤ oracle 存儲過程sql中in 參數怎麼傳入調試

右擊存儲過程,選擇
測試create
or
replace
procere
pd1(p_1
number,p_2
number,p_3
number)
is
v_sql
varchar2(4000);
begin
v_sql:='select
*
from
table
where
id
in('||p_1||','||p_2||','||p_3||')';
execute
immediate
v_sql;
end;

㈥ SQL 存儲過程 where in 的問題 帶參數的!!

方法二肯定不行,@id是字元串不是集合
方法一中要這樣寫:
set @SelectText = 'update ffzs_unit set unitname='''+@name+''' where uid in ('+@id+')'
對於SQL中,字元串要有單引號

你不要execute( @SelectText)
先改成 select @SelectText
看看輸出的字元串到底是什麼,然後在查詢分析器中測試一下語法,再改原有的.

㈦ SQL中存儲過程參數傳遞有哪幾種方法如何獲取存儲過程的返回值

參數傳遞?
參數有in參數、out參數、in out參數
變數可用set和select賦值

獲取返回值只需設置變數、到時輸出就行

單行數據定義固定變數數、
如果結果是數據集、要用游標cursor

㈧ sql 存儲過程 in () 參數問題

你好。
寫個例子
create
proc
abcd
@param
nvarchar(200)
as
select
*
from
room
where
roomid
in
(@param
)
exec
abcd
8
或者
exec
abcd
'8'
roomid是
int類型的。
直接調用就可以把。

㈨ 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

㈩ MSSQL資料庫 :如何給 存儲過程中的 IN() 傳遞參數,誰能夠幫忙修改一些。

中的項不固定大小,應該選一個足夠大的值,varchar(1000)
CREATE PROCEDURE [dbo].[Stat_MultiplesLoadByUnionAll]
( @Cells nvarchar(255),@name1 varchar(1000) )
as
begin
if (@name1 <>'' or @name1 is not null)
begin
select @UnionTable=isnull(@UnionTable+' union all select '+@Cells+' from ',' select '+@Cells+' from ) +quotename(Name) from sysobjects where OBJECTPROPERTY(id, N'IsUserTable') = 1 and name in (' + @name1 =')'
end

end

--注意@name1 傳入的格式 是'tab1','tab2','tab3'................ 這樣的,才能拼對

熱點內容
清除手機緩存軟體 發布:2025-01-06 04:56:29 瀏覽:328
macbookair13寸配置如何 發布:2025-01-06 04:46:51 瀏覽:250
c語言則么下載 發布:2025-01-06 04:46:39 瀏覽:351
C語言海燕 發布:2025-01-06 04:42:22 瀏覽:940
誇克緩存視頻都是幾k怎麼辦 發布:2025-01-06 04:32:29 瀏覽:464
are編程 發布:2025-01-06 04:30:45 瀏覽:536
伺服器我的世界怎麼弄積分 發布:2025-01-06 04:24:32 瀏覽:738
小白源碼資源站 發布:2025-01-06 04:23:07 瀏覽:651
劍靈刷本腳本 發布:2025-01-06 04:21:33 瀏覽:687
2014編程語言 發布:2025-01-06 04:20:51 瀏覽:941