Вопросы с тегом «dynamic-sql»

Создание запроса во время выполнения с операциями конкатенации строк и выполнение запроса из этой строки.

22
Есть ли способ создать скрипт создания таблицы в TSQL?

Есть ли способ сгенерировать сценарий создания из существующей таблицы исключительно в T-SQL (то есть без использования SMO, поскольку T-SQL не имеет доступа к SMO). Допустим, хранимая процедура, которая получает имя таблицы и возвращает строку, содержащую сценарий создания для данной таблицы?...

19
Альтернативы объединению строк или процедурному предотвращению повторения кода SQL-запроса?

Отказ от ответственности: Пожалуйста, имейте меня как человека, который использует базы данных лишь малую часть своего рабочего времени. (Большую часть времени я занимаюсь программированием на С ++ на своей работе, но каждый нечетный месяц мне нужно искать / исправлять / добавлять что-то в базе...

18
Почему SQL-инъекция не происходит по этому запросу внутри хранимой процедуры?

Я сделал следующую хранимую процедуру: ALTER PROCEDURE usp_actorBirthdays (@nameString nvarchar(100), @actorgender nvarchar(100)) AS SELECT ActorDOB, ActorName FROM tblActor WHERE ActorName LIKE '%' + @nameString + '%' AND ActorGender = @actorgender Теперь я попытался сделать что-то вроде этого....

18
Как создать поворотное CROSS JOIN, где определение таблицы в результате неизвестно?

Учитывая две таблицы с неопределенным количеством строк с именем и значением, как бы я отобразил функцию поворота CROSS JOINнад их значениями. CREATE TEMP TABLE foo AS SELECT x::text AS name, x::int FROM generate_series(1,10) AS t(x); CREATE TEMP TABLE bar AS SELECT x::text AS name, x::int FROM...

16
Создать представление в указанной базе данных с динамическим SQL?

Я пишу динамический SQL для удаления и создания представления в другой базе данных. Итак, я написал: set @CreateViewStatement = ' USE ['+ @DB +']; CREATE VIEW [dbo].[MyTable] AS SELECT ........something exec (@CreateViewStatement) Это дает мне ошибку: «CREATE VIEW» должен быть первым оператором в...

15
Пользовательские запросы: динамический SQL против SQLCMD

Я должен провести рефакторинг и задокументировать ряд foo.sqlзапросов, которые будут переданы команде технической поддержки БД (для конфигураций клиентов и тому подобного). Существуют типы билетов, которые приходят регулярно, когда у каждого клиента есть свои собственные серверы и базы данных, но в...

13
Почему вы хотите избежать динамического SQL в хранимой процедуре?

Я слышал, кто-то сказал, что вы не хотите использовать динамический SQL. Можете ли вы привести конкретный пример или пример из реальной жизни? Лично я несколько раз кодирую это в своей базе данных. Я думаю, что это нормально, потому что это гибкость. Я предполагаю, что SQL-инъекция или...

11
Как динамически изменить базу данных с помощью TSQL

У меня проблемы с попыткой динамически изменить контекст SSMS на базу данных, указанную в динамическом SQL: EXEC sys.sp_executesql N'USE db1 ' ; Он выполняется успешно, однако контекст базы данных SSMS не изменяется. Я попытался небольшое изменение выше, как DECLARE @sql NVARCHAR(100) DECLARE @db...

10
Хранимая процедура для возврата динамически созданных данных таблицы

Краткая история, мы работаем с внешним поставщиком, у которого есть система опросов. Система не обязательно разработана лучше всего в том случае, когда вы создаете новый опрос и система создает новую таблицу, а именно: Tables ____ Library_1 -- table for Survey 1 SurveyId int InstanceId int Q_1...

10
Как я могу динамически псевдоним столбцов?

У меня есть таблица (не разработанная мной), которая имеет 20 переменных столбцов. То есть, в зависимости от того, какой тип записи вы просматриваете, применимое имя столбца может измениться. Возможные имена столбцов хранятся в другой таблице, которую я могу очень легко запросить. Поэтому запрос,...

10
Можно ли по умолчанию настроить / использовать sp_executesql?

Я смотрю на приложение, которое использует высокодинамичные запросы SQL против SQL Server. Глядя на запросы, которые составлены очень странными и сложными способами, но это уже другая история, я расскажу это, чтобы дать вескую причину того, что я не в состоянии (слишком глупо) самому что-то...

9
sp_execute ожидает параметр '@handle' типа 'int'

Я пытаюсь проверить хранимую процедуру, если таблица существует в моей целевой базе данных. Если этого не произойдет, я создам таблицу с использованием таблиц information_schema из исходной базы данных. Однако когда я использую sp_execute, чтобы попытаться вернуть таблицу, если она существует, я...

9
Параметры печати в динамическом SQL

Я использовал динамический SQL для многих задач и постоянно сталкиваюсь с одной и той же проблемой: печать значений переменных, используемых внутри инструкции Dynamic T-SQL. НАПРИМЕР: Declare @SQL nvarchar(max), @Params nvarchar(max), @DebugMode bit, @Foobar int select...

8
PostgreSQL: использовать схемы и имена таблиц из других таблиц?

Рассмотрим ситуацию, когда у меня все имена схем в одной таблице и все имена таблиц в другой таблице. Можно ли сделать что-то вроде следующего (псевдокод)? SELECT value FROM (SELECT schema_name FROM schemas).(SELECT table_name FROM tables) Или я должен разбить запрос на три...

8
Выбрать разрешение внутри хранимой процедуры?

Я предоставил пользователю разрешение на выполнение хранимой процедуры, которая использует динамический SQL. Но когда он пытается выполнить его, он получает ошибку: В доступе SELECT было отказано для объекта «[имя таблицы]», базы данных «[имя базы данных]», схемы «dbo». Нужно ли пользователю...

8
Создать скрипт для автоматизации переименования ограничений по умолчанию

Справочная информация: некоторые из наших ограничений на столбцы по умолчанию были созданы без явных имен, поэтому мы получаем забавные имена, которые варьируются от сервера к серверу, например: DF__User__TimeZoneIn__5C4D869D Я бы предпочел, чтобы все они управлялись с единообразными именами,...

8
sp_prepexec (sp_execute) против sp_executeSQL

Суть вопроса: являются ли фактические хранимые процедуры единственным механизмом, который реализует кэширование временных таблиц, или системные хранимые процедуры, такие как sp_executeSQL/ sp_executeтакже используют их? Я не администратор баз данных, поэтому, пожалуйста, используйте маленькие...

8
Переключение между базами данных с динамическим SQL

У меня есть процесс, который включает в себя выполнение различных команд между несколькими базами данных - однако, когда я использую динамический SQL для изменения БД с помощью 'use @var', тогда он фактически не меняет базу данных. Выполнение этого в [test_db]: declare @currentDB varchar(max)...