J'ai une procédure stockée dans SQL Server. Je veux définir la valeur par défaut quand null est passé; sinon, utilisez la valeur transmise. Cependant, je ne suis pas sûr que mon code reflète le comportement que je veux. Sinon, que dois-je faire?Comportement de valeur par défaut de procédure stockée SQL Server
CREATE PROCEDURE [dbo].[test]
(@PassedTableName nvarchar(100))
AS
BEGIN
DECLARE @TableName AS NVarchar(255) = 'defaultTablenName'
SELECT @TableName = QUOTENAME(TABLE_NAME)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = @PassedTableName
DECLARE @sql0 AS NVARCHAR(MAX)
SELECT @sql0 = 'select count(*) from ' + @TableName
EXEC(@SQL0)
Je n'arrive pas à comprendre ce que vous essayez de faire ici. –
select @TableName = isnull (QUOTENAME (TABLE_NAME), 'defaultTablenName') –
Etes-vous en train d'essayer de définir des paramètres optionnels ou simplement d'envoyer une valeur NULL au paramètre? – NicoRiff