2015-05-19 3 views

ответ

1

Вместо этого вы написать, как показано ниже

Select Top 1 @Label=AdminID from ERP_AdminLogin 

EDIT:

Тогда просто написать запрос в , даст ваш результат

DECLARE @Label AS VARCHAR(2000) 
Select Top 1 @Label=AdminID from ERP_AdminLogin 
Set @Label = @Label + 'I' --do some query work here 
--finally return the string 
select @Label 

EDIT 1:

Если вы хотите использовать только внутренний запрос, то вы можете написать, как показано ниже

DECLARE @Label AS VARCHAR(2000) 
DECLARE @SQL1 AS NVARCHAR(4000) 

SET @SQL1 = 'Select Top 1 @Label=AdminID from ERP_AdminLogin' 

exec sp_executesql @SQL1, N'@Label VARCHAR(2000) out', @Label out 

select @Label as Result 
+0

Спасибо за ваш быстрый ответ .Since Я пишу функцию я должен Ретур строковое значение. – Merin

+0

Я просто даю пример Bro. Запрос не так прост, как данный :) – Merin

+0

Должен вернуть значение varchar; return @Lable – Merin

0

Смотрите, что я пытался ...

create table abc 
(
    id int 
) 

insert into abc values (1); 
insert into abc values (2); 
insert into abc values (3); 

// Создать функцию возврат желаемое значение

create function f_abc() RETURNS varchar(11) 
As 
Begin 
    DECLARE @Label AS VARCHAR(2000) 
    DECLARE @SQL1 AS NVARCHAR(4000) 
    Select Top 1 @Label=id from abc 
    return @Label 
End 

// теперь просто вызвать эту функцию

select top 1 id, dbo.f_abc() as TempCol from abc 

Output

Смежные вопросы