儲存過程中拼接字串

2022-04-07 10:22:43 字數 1046 閱讀 3455

1.將查詢資料插入臨時表

最開始我這麼寫的

declare

@sql

varchar(max

)set

@sql='

select * into #tmp from tb

'exec(@sql

)select

*from #tmp

報錯物件名'#tmp'無效

可以改成這樣子

create

table

#tmp(....)

declare

@sql

varchar(max

)set

@sql='

select * from tb

'insert #tmp exec(@sql

)select

*from #tmp

即先建立乙個臨時表,然後把資料插入臨時表中。

可以直接使用全域性臨時表實現這個功能

declare

@sql

varchar(max

)set

@sql='

select * into ##tmp from tb

'exec(@sql

)select

*from ##tmp

2.將查詢結果儲存到變數

開始我是這麼寫的

declare

@sum

intdeclare

@sql

varchar(max

)set

@sql='

select @sum=sum(f1) from tb

'exec sp_executesql @sql,n'

@sum int

',@sum output

會報錯過程需要型別為'ntext/nchar/nvarchar'的引數'@statement'

發現需要把@sql的型別從varchar改成nvarchar

mysql字串拼接,儲存過程

mysql concat函式可以連線乙個或者多個字串,如 select concat 10 結果 10 select concat 11 22 33 結果 112233 mysql的concat函式在連線字串的時候,只要其中乙個是null,那麼將返回null select concat 11 22 ...

關於儲存過程中執行字串

關於儲存過程中執行字串 我想在儲存過程中寫 declare sqlstring nvarchar 50 set sqlstring select from admininfo where columnname like condition exec sqlstring 這樣一句話,可是在查詢分析器裡...

Mysql儲存過程中字串分割

今在專案中碰到了要把字串分割,記錄下來,以後可能還用的到 首先想上我的儲存過程 delimiter use bplate drop procedure if exists lp plate insertplateinfo create definer root localhost procedure...