Pages

2011年11月14日 星期一

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


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

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

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

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

學生分數 between 80 and 90

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

  1. declare @sqlcmd varchar(255)
  2.  
  3. declare @condition varchar(255)
  4.  
  5. declare @stundentno char(16)
  6.  
  7.  
  8.  
  9. set @sqlcmd = 'update 學生成績 set 分數分類 = ''A'' where studentno = @stundentno and '
  10.  
  11. select @condition =  condition  from 分類 // 取出分數介於80 ~ 90的狀況
  12.  
  13.  
  14.  
  15.  exec sp_executesql @sqlcmd + @condition ,N'@stundentno char(16) output',@stundentno output
  16.  
  17.  
  18.  

Related Posts:

  • Windows 2008 兩台伺服器資料夾單項同步參考資料:ROBOCOPY高速同步備份、複製、移動大量檔案 自從Windows Vista後的微軟作業系統,在命令提示字元中有提供robocopy指令,來達到檔案的差異備分或是資料同步的功能。 支援作業系統: Windows Vista Windows 7 Windows 2008 舉例來說,兩台Server分享資料夾需要維持相同第二台與第一台檔案相同時,可以使用 ROBOCOPY \\Server1\Test1 \\Server… Read More
  • 鎖的問題 在SQL Server中使用加鎖的問題,我就以前的經驗和收集的一些資料簡單的提出我自己的一些看法,不知道對啟明星是否有所幫助: 一般而言,下面是個典型的打開資料庫的過程。 <% ’游標類型 Const adOpenForwardOnly = 0 Const adOpenKeyset = 1 Const adOpenDynamic =&nb… Read More
  • chmod命令詳解 chmod用於改變檔或目錄的存取權限。使用者用它控制檔或目錄的存取權限。該命令有兩種用法。一種是包含字母和操作符運算式的文字設定法;另一種是包含數位的數位設定法。 1. 文字設定法 語法:chmod [who] [+ | - | =] [mode] 檔案名 命令中各選項的含義為: 操作物件who可是下述字母中的任一個或者它們的組合:   u 表示“使用者(user)”,即檔或目錄的所有者。   g 表示“… Read More
  • 設定Windows Domain Name連結特定IP 檔案路徑: %windir%\System32\drivers\etc\hosts 功能: 要查詢一個主機名稱時,如果這個檔案沒定義的話,就會去查DNS。 例如,若該檔案的內容有: 檢視原始檔複製到剪貼簿列印關於 1.  1.2.3.4   ithelp.ithome.com.tw   那麼您要連ithelp.ithome.com.tw時, 不會去向 DNS… Read More
  • 【CMD】建立以日期為主的資料夾Windows XP & 2003   system c:\> md d:\%Date:~0,4%%Date:~5,2%%Date:~8,2% Windows 2k system c:\> md d:\%Date:~4,4%%Date:~9,2%%Date:~12,2% … Read More

0 意見: