0
USE GDMDBNS_1720
GO
IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE'
AND ROUTINE_SCHEMA = 'dbo' AND ROUTINE_NAME = 'usp_RmsExecuteValidationRule')
BEGIN
DROP PROCEDURE dbo.usp_RmsExecuteValidationRule
END
GO
Create PROCEDURE [dbo].[usp_RmsExecuteValidationRule]
@nRuleId INT,
@FIPSName VARCHAR(5)
AS
BEGIN
DECLARE @strRuleQuery VARCHAR(MAX)
DECLARE @sqlstat AS NVARCHAR(MAX)
DECLARE @params AS NVARCHAR(MAX)
SET @strRuleQuery = N'SELECT RULE_QUERY from GdmValidationRuleMaster where
RULE_ID = @nRuleId'
SET @sqlstat = @strRuleQuery
SET @params = N'@FIPSName VARCHAR(5)'
EXEC sp_executesql @params,
@query = @sqlstat,
@FIPSName = @FIPSName
END
調試時必須聲明標量變量@nRuleId時出錯。我已經宣佈過了。但總是出現錯誤。必須聲明標量變量@nRuleId
您還沒有一個值分配給'@ nRuleId' – Takarii
''sp_executesql的一個希望SQL語句作爲第一個參數,則params排第二,你的'@ strRuleQuery' contans的變量'@ nRuleId'which未聲明爲parmeter並且未分配,但是您聲明瞭分配了「@ FIPSName」的參數,但已分配但不需要 –
您是否檢查過給出的任何答案? – gofr1