Re: [SQL ]M$SQL有關TableName用變數代替的問題...
※ 引述《LPH66 (-858993460)》之銘言:
: ※ 引述《illjay0404 (*~你是我的花朵)》之銘言:
: : 我現在用BCB在寫M$SQL資料庫程式,我想從外部輸入TableName
: : 但是要先下字串指令給SQL,搜尋大師、書本找了一下
: : 找不到相關資訊....可能是沒人這樣繞一圈搜尋吧!
: : 大概說一下我的問題,通常我們要某Table搜尋全部欄位
: : SELECT *
: : FROM 表格名
: : 我現在想的方式是...用WHERE條件式去代替'表格名'有辦法嗎?
: : 簡單來說...就是
: : SELECT *
: : FORM 變數
: : WHERE 變數 = 'TableName'
: : 兩個結果輸出是一樣的...只是TableName可以讓我外部用BCB程式自行輸入
: (好像要推到兩行所以回文)
: 那就直接建立一個字串長得像 SELECT * FROM 'TableName'
: 再送進去 這樣就可以啦?
: 例如像是 sprintf(sqlcommand,"SELECT * FROM '%s'",tablename); 這樣
: 還是你有什麼問題使得建立這樣的字串有困難?
在純SQL的環境的話
也可以直接下
DECLARE @TableName nvarchar(10)
DECLARE @SqlString Nvarchar(50)
IF ISNULL(@TableName, '') <> '' BEGIN
SET @SqlString = N'SELECT * FROM ' + @TableName
EXECUTE (@SqlString)
END
如果有必要的話也可以在條件裡面增加去SystemTable
搜尋這個@TableName是否存在的判斷式
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.249.134.104
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):