這是我的問題:我想檢查表中的參數化名稱,如table_X
。 X的值來自另一個表,所以例如在我的主表中,我有一列c_id
和一列X,加入的表具有名稱table_X,它存在毫無疑問,它有相同的列c_id
,其中I應加入,檢查該表中是否有c_id
的值。參數化表名
我已經嘗試了看法,但沒有成功,因爲我不能在視圖中把一個參數表名。我可以參數化where子句和其他東西,但沒有表名。
我試過一個程序,用
SET @q = CONCAT('select blabla from table_', X); PREPARE stmt FROM @q; EXECUTE stmt;
,但過程不能返回值,我需要它,因爲我需要知道,如果沒有在參數表中的
c_id
值,否則它是無用的。我已經嘗試了功能,但「動態SQL沒有包括在存儲函數或觸發允許」
所以我能做些什麼來提取這些數據?我從PHP調用這個視圖/函數/任何東西,並且我知道我可以從PHP端執行,有兩個查詢,但是我需要在db端執行,以供將來實現。 這可能嗎?
注意:我不能修改數據庫的結構:)順便說一句,這是Limesurvey分貝,聽起來像一個瘋狂的數據庫結構,是吧?
聽起來像你需要重構你的數據庫以消除這些依賴關係。 – eykanal