Pages

2011年11月14日 星期一

SQL語法中使用字串執行SQL語法


通常在資料庫的表格中有可能存在一些SQL的部分語法來讓程式存取使用。
但在寫Trigger或 Store Procedure時要如何使用這些字串?

正常來說直接使用exec sp_executesql @sqlcmd會出現下面的系統提示:
必須宣告純量變數@studentno。

因此需要做一些修改,可以從範例看出一些端倪:

假如我們的資料庫的分類表格中存在一個欄位儲存判斷式為

學生分數 between 80 and 90

之後我們可以宣告兩個變數與執行他們

declare @sqlcmd varchar(255)

declare @condition varchar(255)

declare @stundentno char(16)



set @sqlcmd = 'update 學生成績 set 分數分類 = ''A'' where studentno = @stundentno and '

select @condition =  condition  from 分類 // 取出分數介於80 ~ 90的狀況



 exec sp_executesql @sqlcmd + @condition ,N'@stundentno char(16) output',@stundentno output




0 意見: