我在SQL Server中有一個存儲過程。我想在通過null時設置默認值;否則,使用傳遞的值。但是,我不確定我的代碼是否反映了我想要的行爲。如果不是,我該怎麼辦?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)
我不明白你在這裏試圖做什麼。 –
select @TableName = isnull(QUOTENAME(TABLE_NAME),'defaultTablenName') –
您是試圖設置可選參數還是僅向參數發送NULL? – NicoRiff