возвращает переменную из скалярнозначной функции

#sql-server #sql-server-2008 #user-defined-functions

#sql-сервер #sql-server-2008 #определяемые пользователем функции

Вопрос:

У меня есть скалярнозначная функция conv2unicode , которая связана со сборкой dvb2unicode .

Я должен удалить функцию сборки из базы данных и вернуть значение как есть . conv2unicode используется во многих процедурах в проекте. Я раньше не работал с функциями в sql server.

Есть ли какой-либо способ вернуть переменную x с помощью функции [conv2unicode]

 ALTER FUNCTION [dbo].[conv2unicode](@x [nvarchar](4000))
RETURNS [nvarchar](4000) WITH EXECUTE AS CALLER
AS 
EXTERNAL NAME [dvb2unicode].[UserDefinedFunctions].[Dvb2unicode]
  

Ответ №1:

Вы можете просто RETURN использовать такую переменную:

 ALTER FUNCTION [dbo].[conv2unicode](@x [nvarchar](4000))
RETURNS [nvarchar](4000) WITH EXECUTE AS CALLER
AS 
RETURN @x
  

Комментарии:

1. отображается сообщение об ошибке 102, уровень 15, состояние 31, процедура conv2unicode, строка 4 с неправильным синтаксисом рядом с ‘RETURN’.