Zrobiłem kwerendę wykonania wewnątrz sp i jestem exceuting kwerendę w sp użyciu exec(), ale podczas tworzenia sp otrzymuję błądWystąpił błąd "Domyślny schemat nie istnieje." podczas wykonywania kwerendy wykonania wewnątrz sp użyciu exec()
The default schema does not exist.
SP jest:
CREATE PROCEDURE MySP
@tableName varchar(100)
AS
BEGIN
SET NOCOUNT ON;
declare @selectQuery varchar(MAX)
set @selectQuery = 'select * from ' + @tableName
exec(@selectQuery)
end
życzliwej pomocy
Dzięki ... to był problem. Po użyciu dbo.spname problem został rozwiązany. :) – HotTester
Dobra uwaga dotycząca iniekcji sql. Czy są jakieś inne rzeczy, o których należy pamiętać przy użyciu dynamicznych zapytań w kontekście bezpieczeństwa i szybkości? – HotTester
Tak. Zobacz [Klątwa i błogosławieństwa dynamicznego SQL - radzenie sobie z dynamicznymi nazwami tabel i kolumn] (http://www.sommarskog.se/dynamic_sql.html#objectnames) –