使用儲存過程查詢,傳送陣列引數並且批量查詢資料

2021-10-07 11:33:11 字數 962 閱讀 9545

一般傳遞的引數形式為@querypara=劉一刀,黃燦,藍田忠

create

procedure

[dbo]

.[getpersonprintinfor2]

-- add the parameters for the stored procedure here

--查詢人名引數

@queryname nvarchar(

100)

asbegin

--宣告乙個儲存sql語句的引數

declare

@querysql nvarchar(

1000

)-- set nocount on added to prevent extra result sets from

-- interfering with select statements.

set nocount on

;--將劉一刀,黃燦,藍田忠的引數形式裝換為('劉一刀','黃燦','藍田忠')的形式

set@queryname

='('''+replace(@queryname,'

,',''',''')+''')'

--拼接sql為"select * from dbo.v_print_content where personname in ('劉一刀','黃燦','藍田忠')"

set@querysql

='select * from dbo.v_print_content where personname in '

+@queryname

;--執行拼接好的sql語句就可以完成批量查詢

exec

(@querysql

)end

查詢結果

查詢引數儲存過程

set ansi nulls on set quoted identifier on go 名 稱 sql 生成器 功 能 生成單錶的insert,update,語句,變數定義語句 程式預設第乙個列為主鍵 減少開發者輸入的時間 exec getsql ord tdcontract 3 alter p...

mysql儲存過程動態引數查詢

1 動態sql,即動態引數 在儲存過程中,想要直接用表名變數做引數,動態執行sql,不能直接寫 12 3456 7createprocedure tablenamechar 20 begin select fromtablename end mysql 不支援表名作為變數,這樣會直接將變數名 tab...

Oracle儲存過程傳遞陣列引數

今天晚上,和同事聊起oracle儲存過程傳遞陣列引數能否使用資料,之後就在自己的電腦上試試,試了試是可以使用。先要定義乙個型別myvarray list 陣列的長度是10,陣列中存放的資料型別是varchar2。sql create or replace type myvarray list as ...