sp_executesql的運用
書寫語法要點:
exec sp_executesql @sql,N’參數1 類型1,參數2 類型2,參數3 類型3 OUTPUT’,參數1,參數2,參數3 OUTPUT;
注意參數前后順序必須對應好 如下圖不同顏色的標記
注意
1> @sql 必須為ntext/nchar/nvarchar類型
2> @sql的參數賦值語句的前面必須用"N",轉換為Unicode字符串
--定義一個游標 declare zb_cur cursor for select zb_gl.zb_sql_gs from zb_gl
--@zb_sql為動態sql,過程需要類型為 'ntext/nchar/nvarchar' 的參數 '@statement'。 declare @zb_sql nvarchar(2000) declare @ymd varchar(20) set @ymd='2019-1-1' --打開游標 open zb_cur while 0=0 begin --讀取游標 fetch next from zb_cur into @zb_sql if @@FETCH_STATUS=0 begin print @zb_sql exec sp_executesql @zb_sql,N'@ymd varchar(20)',@ymd end else break end close zb_cur --摧毀游標 deallocate zb_cur