TIP [MS SQL 2000] – DYNAMIC QUERY IN STORED PROCEDURE
In alcuni casi particolari è utile generare dinamicamente delle query all’interno di stored procedure xchè esistono istruzioni non parametrabilizzabili in Sql-Server. Ad esempio la “drop table” non permette la sintassi :
“drop table @mia_variabile”.
Per ovviare a questo problema è possibile eseguire una query costruita dinamicamente tramite il comando exec.
Nell’esempio si costruirà una stored procedure che permette di cancellare una tabella dal db per mezzo di una istruzione drop.
Esempio :
SET QUOTED_IDENTIFIER ON GO SET
ANSI_NULLS ON GO
1 2 3 4 5 6 7 8 |
CREATE proc mmc_EliminaTb(@TbName as Varchar(50)) as exec('drop table ' + @TbName); GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON |