Re: [SQL ]M$SQL有關TableName用變數代替的問題...

看板Database作者 (未來)時間13年前 (2010/11/16 00:35), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《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
文章代碼(AID): #1CuM5W_s (Database)
文章代碼(AID): #1CuM5W_s (Database)