从另一个表传入SQL查询执行存储过程?

时间:2011-10-11 15:17:37

标签: tsql sql-server-2008 stored-procedures

目前我的开发环境正在使用SQL server express 2008 r2和VS2010进行项目开发。

通过提供一个场景我的问题是这样的:

发展目标:

我使用.net C#开发类似数据挖掘或数据仓库的窗口服务。 这意味着我有两个或更多的数据库。

我的senario是这样的:

我有一个带有表调用SQL_Stored的数据库,里面提供了一个coloum名称QueryToExec。

我首先想到的是,在我的脑海里写了一个存储过程,我试图找出一个存储过程名称Extract_Sources,其中有两个参数传入了ID和TableName。

我的第一步是从表SQL_Stored中选择需要执行的sql。我尝试使用简单的select语句来获取SQL,例如:

Select Download_Sql As Query From SQL_Stored Where ID=@ID AND TableName=@TableName

是否有可能获得结果,还是有其他方法可以这样做?

我的第二步是优化我从SQL_Stored Table获得的Sql。可以 执行在此特定存储过程的以下过程中选择的查询? 需要创建一个存储sql的变量吗?

谢谢你,感谢所有人的帮助。请不要犹豫,说出我的错误或错误,因为我可以从中吸取教训。谢谢。

PS_1:对不起我的英语很差。

PS_2:我是存储过程的新手。

LiangCk

1 个答案:

答案 0 :(得分:1)

试试这个:

DECLARE @download_sql VARCHAR(MAX)
Select
    @download_sql = Download_Sql
From
    SQL_Stored
Where
    AreaID = @AreaID
    AND TableName = @TableName

EXEC (@download_sql)