I have a stored procedure in SQL Server. I want to set default value when null is passed; otherwise, use the passed value. However, I am not sure if my code reflects the behavior I want. If not, what should I do?
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)