当我在使用查询输出时执行正确,但当我在存储过程中使用该查询时,未正确获取 [英] When I Execute In Using Query Output Is Getting Correctly But When I Uses That Query In Store Procedure Is Not Getting Correctly

查看:107
本文介绍了当我在使用查询输出时执行正确,但当我在存储过程中使用该查询时,未正确获取的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在表格记录中如下



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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆