DECLARE @Label AS VARCHAR(2000)
DECLARE @SQL1 AS NVARCHAR(4000)
SET @SQL1 = 'Select Top 1 AdminID from ERP_AdminLogin'
Exec (@SQL1)
Set @Label = Exec (@SQL1)
我希望将结果显示为@Lable = 12
答案 0 :(得分:1)
相反,你写的如下
Select Top 1 @Label=AdminID from ERP_AdminLogin
编辑:
然后只需在函数中编写查询,就会给出结果
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
编辑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
答案 1 :(得分: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