0
在我的SQL數據庫中,我想製作一個通用軟鏈接表。也許類似以下內容:SQL列值到表名
create table soft_link(
id uniqueidentifier,
name varchar(255),
LINK uniqueidentifier,
TABLE varchar(255),
primary key(id));
假設我在數據庫的其他表中有對象「b_object」。 LINK列將是b_object的唯一標識符,而TABLE將是b_object存儲在數據庫中的表。
現在我想製作一個存儲過程「sp_ResolveSoftLink」。此方法將採用軟鏈接的標識,查找軟鏈接的LINK和TABLE列,然後使用TABLE和LINK查詢b_object。
以下是不正確的SQL語法,但希望它有助於說明我的問題。我想這兩個查詢合併成一個單一的存儲過程,並返回第二個查詢的結果:
select LINK, TABLE from soft_link where id = xxxxxx
select * from TABLE where id = LINK
-- return the result of the second select query
基本的問題:我如何/可使用從一個查詢將varchar回報,從而在另一個查詢SQL中的相同存儲過程?
這就是所謂的動態SQL。您需要將SQL查詢構建爲字符串,然後執行它。確切的語法取決於數據庫。 –