当我在使用查询输出时执行正确,但当我在存储过程中使用该查询时,未正确获取 [英] When I Execute In Using Query Output Is Getting Correctly But When I Uses That Query In Store Procedure Is Not Getting Correctly
问题描述
在表格记录中如下
sno Descirption酒店名称Phoneno房价活跃
1 Accom1 Satarlodge 24745734/9840175805 SingleNonAC 500,Double AC 1000 A
2 Accom1 Sarvanalodge 24151212/9790578502 SingleNonAC 600 Double AC 1200 A
3 Accom2 Suryalodge 24851524/9852012312 SingleNonAC 1000 DoubleAC 1600 A
4 Accom2 kalpanlodge 24221222/9844121252 AC 1200 A
当我执行使用查询输出正确获取但是当我在商店程序中使用该查询时未正确
设置ANSI_NULLS ON
设置QUOTED_IDENTIFIER ON
go
ALTER proc [dbo]。[Shortcode_Accom](@ Keyey varchar(10))
as
声明@Hotel varchar(25) ,
@Phone varchar(25),
@Room varchar(25),
@final varchar(max)
选择@ Hotel = Hotelname,@ Phone = Phoneno,@ Room =来自Tb_Accommodation的Roomrate,其中Active<> 'D'和描述= @Keyword
如果(@Hotel!='')
开始
设置@final ='亲爱的学生HIMT酒店住宿是'+ @ Hotel +','+ @ Phone +','+ @ Room +'by marine'
select @final
结束
当我执行上面的商店程序输出如下
exec [Shortcode_Accom]'Accom2'
亲爱的学生HIMT酒店住宿是kalpanlodge,24221222/9844121252,AC 1200 by marine
i我正在执行以下选择查询
从Tb_Accommodation中选择Hotelname,Phoneno,Roomrate,其中Active<> 'D'和description ='Accom2'
当我执行上述查询输出时如下
Suryalodge 24851524/9852012312 SingleNonAC 1000 DoubleAC 1600
kalpanlodge 24221222/9844121252 AC 1200
但是当我使用Store程序执行时
exec [Shortcode_Accom]'Accom2'
亲爱的学生HIMT酒店住宿是kalpanlodge,24221222/9844121252,AC 1200 by marine
请帮帮我,我犯了什么错误?
问候,
narasiman P.
in table record as follows
sno Descirption Hotelname Phoneno Roomrate Active
1 Accom1 Satarlodge 24745734/9840175805 SingleNonAC 500,Double AC 1000 A
2 Accom1 Sarvanalodge 24151212/9790578502 SingleNonAC 600 Double AC 1200 A
3 Accom2 Suryalodge 24851524/9852012312 SingleNonAC 1000 DoubleAC 1600 A
4 Accom2 kalpanlodge 24221222/9844121252 AC 1200 A
when i execute in using query output is getting correctly but when i uses that query in store procedure is not getting correctly
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER proc [dbo].[Shortcode_Accom] (@Keyword varchar(10))
as
declare @Hotel varchar(25),
@Phone varchar(25),
@Room varchar(25),
@final varchar(max)
select @Hotel=Hotelname,@Phone=Phoneno,@Room =Roomrate from Tb_Accommodation where Active <> 'D' and description = @Keyword
if(@Hotel!='')
begin
Set @final = 'Dear Students HIMT Hotel Accommodation is ' +@Hotel+',' +@Phone+ ','+@Room+ ' by marine'
select @final
end
When i execute the above store procedure output as follows
exec [Shortcode_Accom] 'Accom2'
Dear Students HIMT Hotel Accommodation is kalpanlodge,24221222/9844121252,AC 1200 by marine
i am executing the select query as follows
select Hotelname,Phoneno,Roomrate from Tb_Accommodation where Active <> 'D'and description = 'Accom2'
when i execute the above query output as follows
Suryalodge 24851524/9852012312 SingleNonAC 1000 DoubleAC 1600
kalpanlodge 24221222/9844121252 AC 1200
but when i execute using Store procedure
exec [Shortcode_Accom] 'Accom2'
Dear Students HIMT Hotel Accommodation is kalpanlodge,24221222/9844121252,AC 1200 by marine
please help me what is the mistake i made?
regards,
narasiman P.
推荐答案
尝试将您的SP更改为:
Try changing your SP to something like:
select 'Dear Students HIMT Hotel Accommodation is' + Hotelname,Phoneno,Roomrate + ' by marine' from Tb_Accommodation
where Active!='D' and description = @Keyword
你想要多个返回值但是你的SP第一部分,而@val只包含一个一组值,你只得到一个回报集。
在上面,在返回值之间插入你想要的任何中间字符串。
You want multiple return values but your SP first part, with @val only contains one set of values and you only get one return set.
In the above, put in whatever intervening strings you wish between the return values.
这篇关于当我在使用查询输出时执行正确,但当我在存储过程中使用该查询时,未正确获取的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!