Извините, вам нужно использовать динамический SQL.Вы не можете вставить в строку:
CREATE PROCEDURE sp_Ins (@tabela nvarchar(80))
AS
BEGIN
declare @sql nvarchar(max) = '
INSERT INTO [t](CustomerID, CustomerPW)
VALUES (1, ''123'')
;
set @sql = replace(@sql, '[t]', QUOTENAME(@tablea));
exec sp_executesql @sql;
END;
Примечание. Возможно, вы не захотите quotename()
, если tablea
может использовать именование из нескольких частей.