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
Fehler erhalten, während das Debugging die Skalarvariable @nRuleId deklarieren muss. Ich habe es bereits erklärt. Aber der Fehler kippt immer aus.Muss Skalarvariable deklarieren @nRuleId
Sie einen Wert '@ nRuleId' zugewiesen haben – Takarii
' 'Sp_executesql will eine SQL-Anweisung als ersten Parameter params kommt an zweiter Stelle, Sie' @ strRuleQuery' Contans eine Variable '@ nRuleId'which nicht als Parmeter erklärt und nicht zugewiesen, aber Sie deklarieren einen Parameter '@ FIPSName', der zugewiesen, aber nicht benötigt wird –
Haben Sie eine der angegebenen Antworten überprüft? – gofr1