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查询构建为字符串,然后执行它。确切的语法取决于数据库。 –