我需要exec在select子句中使用.exec的查询是根据表的列创建的,如果使用select子句的话.我想做的是如下:
SELECT distinct
MTMain.[TableName],
MTMain.[TableFKey],
(select IsActive (exec GetStringForIsActive MTMain.[TableName],MTMain.[TableFKey]))
FROM
[MasterTableForLanguage] MTMain
Run Code Online (Sandbox Code Playgroud)
这GetStringForIsActive是我想要为每一行选择的存储过程MasterTableForLanguage.
在stored procedure将使用EXEC执行以下字符串
select IsActive from [TableName] where PKID= cast([TableFKey] as int)
Run Code Online (Sandbox Code Playgroud)
TableName和TableFKey将是存储过程的输入.
在 SELECT 子句中使用函数而不是存储过程。
编辑:
创建该函数
CREATE FUNCTION function1 (@TableName nvarchar(10),@TableFKey nvarchar(10))
RETURNS nvarchar(100) AS
BEGIN
-- do whatever here
END
Run Code Online (Sandbox Code Playgroud)
然后
SELECT distinct
MTMain.[TableName],
MTMain.[TableFKey],
function1(MTMain.[TableName],MTMain.[TableFKey])
FROM
[MasterTableForLanguage] MTMain
Run Code Online (Sandbox Code Playgroud)
这有道理吗?
| 归档时间: |
|
| 查看次数: |
54768 次 |
| 最近记录: |