загрузка операторов UDF в строковую переменную - PullRequest
2 голосов
/ 20 апреля 2011

У нас есть хранимая процедура, использующая UDF. Нам нужно изменить содержимое этих UDF на лету. Да, я знаю, я знаю ... Не мой выбор. Это именно то, что мы пытаемся сделать:

  1. Читать содержимое UDF
  2. Изменить содержимое и создать новый UDF
  3. Используйте UDF в выражении executesql

Есть ли способ получить содержимое udf в varchar (или nvarchar), который я затем могу изменить, используя строковые функции?

1 Ответ

3 голосов
/ 20 апреля 2011
select object_definition(object_id('UDFName'))

Есть ли способ получить содержимое udf-файла в varchar (или nvarchar), который я затем могу изменить, используя строковые функции?

declare @str nvarchar(max) 

-- get function definition to @str
select @str = object_definition(object_id('UDFName'))

-- Modify definition
set @str = replace(@str, 'CREATE FUNCTION', 'ALTER FUNCTION')

-- execute alter function
exec (@str)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...