ho fatto una query runtime all'interno di una sp e sto exceuting la query all'interno della sp utilizzando exec(), ma quando si crea la sp sto ottenendo l'erroreErrore di visualizzazione di "Lo schema predefinito non esiste." durante l'esecuzione di query runtime all'interno sp utilizzando exec()
The default schema does not exist.
l'SP è:
CREATE PROCEDURE MySP
@tableName varchar(100)
AS
BEGIN
SET NOCOUNT ON;
declare @selectQuery varchar(MAX)
set @selectQuery = 'select * from ' + @tableName
exec(@selectQuery)
end
aiuto gentile
Grazie ... questo era il problema. Dopo aver usato il problema dbo.spname è stato risolto. :) – HotTester
Un buon punto per quanto riguarda l'iniezione sql. Ci sono altre cose da tenere a mente usando le query dinamiche nel contesto della sicurezza e della velocità? – HotTester
Sì. Vedi [The Curse and Blessings of Dynamic SQL - Gestire i nomi dinamici di tabelle e colonne] (http://www.sommarskog.se/dynamic_sql.html#objectnames) –