sql儲存過程處理陣列引數,sql 儲存過程 傳入兩組陣列引數

時間 2022-02-09 11:15:44

1樓:玩轉資料處理

declare @str varchar(500)

declare @insert varchar(8000)

select @insert = 'insert into youtable values '

select @str='str1,1,1,1,1|str2,2,2,2,2|str3,3,3,3,5|str4,4,4,45,4'

select @str=@insert+'('''+@str+''')'

select @str = replace(@str,',',''',''')

select @str = replace(@str,'|',''') '+char(13)+@insert+'(''')

print @str

--exec(@str) 動態執行下生成的語句就好了

--print 結果如下:

insert into youtable values ('str1','1','1','1','1')

insert into youtable values ('str2','2','2','2','2')

insert into youtable values ('str3','3','3','3','5')

insert into youtable values ('str4','4','4','45','4')

2樓:匿名使用者

--方法一,用字串替換和拼接,構造成insert into 表 select 的樣子,然後執行

--方法二,用字串拆分

declare @a varchar(800)='str1,0,0,0|str2,0,0,0|str3,0,0,0'

set @a='insert into t select '''+@a

set @a=replace(replace(@a,'|',''' union all select '''),',',''',''')+''''

exec(@a)

/*insert into t

select 'str1','0','0','0'

union all

select 'str2','0','0','0'

union all

select 'str3','0','0','0'*/

sql 儲存過程 傳入兩組陣列引數 10

3樓:百撕卜的騎姐

declare @n nvarchar(500)

declare @m nvarchar(500)

set @n='1,2,3,4,5'

set @m='a,b,c,d,e'

create table #tb (n varchar(500),m varchar(500))

while(1=1)

begin

if(charindex(',',@n)=0 and charindex(',',@m)=0)

begin

insert into #tb values(@n,@m)

break

endinsert into #tb values(substring(@n,1,charindex(',',@n)-1),substring(@m,1,charindex(',',@m)-1))

set @n=right(@n,len(@n)-charindex(',',@n))

set @m=right(@m,len(@m)-charindex(',',@m))

endselect * from #tb

drop table #tb

ps:要做好校驗!

如何給sqlserver儲存過程傳遞陣列引數

4樓:sql的藝術

陣列不能傳遞,變通的解決辦法是有的

思路如下:

1、將陣列轉換為字串格式(例如:a,b,c,d)2、在資料庫內建立字串分割為行的表值函式3、若是需要將一個二維陣列傳遞的話,需要將每列資料都格式化為1的方式,然後再用2的方式轉換為行,再將轉換後的資料組合為一個表

4、你就可以直接進行插入、編輯、刪除或查詢操作了。

儲存過程,如何傳入一個陣列並進行處理,有樣例嗎

5樓:匿名使用者

可以定義一個type,這樣一個type用來實現陣列的功能:

create type array_type as table of varchar2(10);

然後新建procedure的時候這樣定義:

create or replace procedure(my_array in array_type)

is.....

begin

.....

end;

sql 儲存過程建立表的問題,Sql 儲存過程建立表的問題!

救救大漢江山吧 把建立語句拼成字串 儲存過程中用exec去執行建立 殤忄路 額 什麼問題呢?你要建立儲存過程?create or replace procedure test pro p name in varchar2,out msg out varchar2 定義輸入引數p name 輸出引數o...

關於C中SQL查詢語句的引數,關於C 中SQL查詢語句的引數

tbname truename要 tbname truename 這個是string連線的一種方式 eg a b ab tbname truename tbname truename這個應該是資料庫欄位對應的值兩個 是sql語句 select from table where name 名字 只有在...

sql 迴圈呼叫儲存過程,sql server 儲存過程如何對select語句的結果集進行迴圈操作

你的語句裡,randcardid都是預設值,所以是重複的。create table temp str char 19 declare randcardid char 19 exec proc randcardid randcardid output declare num int set num 0...