Chcę napisać przechowywany proc, który użyje parametru, który będzie nazwą tabeli.Dynamiczny SQL (przekazywanie nazwy tabeli jako parametru)
Np:
@tablename << Parameter
SELECT * FROM @tablename
Jak to możliwe?
pisałem tak:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[GetAllInterviewQuestions]
@Alias varchar = null
AS
BEGIN
Exec('Select * FROM Table as ' @Alias)
END
ale mówi Niepoprawna składnia w pobliżu @Alias.
Lepiej jest zawijać nazwę tabeli w nawiasach kwadratowych, aby zabezpieczyć się przed nazwami tabel, które są zarezerwowanymi słowami i/lub zawierają spacje w nazwie tabeli. exec ('wybierz * od [' + @ tablename + '] gdzie ...') –