sql >> Databáze >  >> RDS >> Sqlserver

Dynamický SQL (předávání názvu tabulky jako parametru)

No, za prvé jste vynechali '+' z vašeho řetězce. Tento způsob dělání věcí není zdaleka ideální, ale dá se to

DECLARE @SQL varchar(250)
SELECT @SQL = 'SELECT * FROM ' + QuoteName(@Alias)
Exec(@SQL)

Důrazně bych však doporučil přehodnotit, jak to udělat. Generování dynamického SQL často vede k chybám zabezpečení SQL Injection a také ztěžuje SQL Server (a další DB) najít nejlepší způsob zpracování vašeho dotazu. Máte-li uloženou proceduru, která může vrátit jakoukoli tabulku, nezískáváte prakticky žádný užitek z toho, že se jedná o uloženou proceduru v první řadě, protože nebude moct dělat mnoho co se týče optimalizací, a do značné míry oslabuje také bezpečnostní výhody.



  1. Je možné změnit přirozené pořadí sloupců v Postgresu?

  2. Jak se dotazovat na hodnoty z xml uzlů?

  3. SQLAlchemy create_all() nevytváří tabulky

  4. Jak vypsat všechny uživatele v PostgreSQL