我已经有了一些存储过程,现在我想让它成为一个存储过程。
我的存储过程代码如下所示:
ALTER PROCEDURE [dbo].[UP_SELECT_TargetSiteStatus_For_ExcelExport]
@AppUrl nvarchar(200)
AS
BEGIN
SET NOCOUNT ON;
-- Web Application
SELECT
AppName, AppUrl, AppPort,
AppDefaultTimeZone, AppMaxiumFileSize,
AppContentDatabaseCount, AppSitesCount
FROM
tb_SPStatusWebApplications
WHERE
AppUrl = @AppUrl
-- Content Database
SELECT
ContentDBAppName, ContentDBID, ContentDBName,
ContentDBServerName, ContentDBStatus,
ContentDBSize, ContentDBSiteCount
FROM
tb_SPStatusContentDatabases CD
INNER JOIN
tb_SPStatusWebApplications WA ON CD.ContentDBAppName = WA.AppName
WHERE
CD.ContentDBAppName = ? <-- Change this...
END
在第一个Select
查询中,AppName
值就像这样&#34; Site1&#34;。
我希望在第二个AppName
查询where子句
ContentDBAppname
值与SELECT
进行比较
WHERE
CD.ContentDBAppName = [how to get AppNames value]
但我不知道怎么能做到......
请有人帮助我
答案 0 :(得分:1)
尝试:您的第二个选择语句如下所示,您已在加入中加入AppName,因此您可以添加 AND 条件为 AND WA.AppUrl = @AppUrl 或在哪里。
SELECT
ContentDBAppName
, ContentDBID
, ContentDBName
, ContentDBServerName
, ContentDBStatus
, ContentDBSize
, ContentDBSiteCount
FROM tb_SPStatusContentDatabases CD
INNER JOIN tb_SPStatusWebApplications WA ON CD.ContentDBAppName = WA.AppName
AND WA.AppUrl = @AppUrl
它将返回与第一个select语句完全相同的AppName,并将根据您的期望在连接中执行相同的操作。