亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

字符串中加入表變量

字符串中加入表變量

泛舟湖上清波郎朗 2018-12-03 10:17:44
<P>在一個存儲過程中如下使用表變量:</P> <P>declare @tb table(id int identity(1,1), hotel_id varchar(20), member_price decimal)</P> <P>&nbsp;insert into @tb(hotel_id,member_price) select hotel_id,min(member_price) from hotel_room group by hotel_id order by min(member_price) ASC</P> <P>SET @strField = 'select a.hotel_name as hotel_name, a.hotel_id as hotel_id, isnull(a.star, '') as star, isnull(a.sowntown, '') as sowntown, isnull(a.hotel_traffic, '') as hotel_traffic, isnull(a.hotel_intro,'') as hotel_intro, a.is_extend as is_extend,b.member_price as member_price from hotel_detail as a&nbsp; inner join <FONT color=#ff0000>@tb</FONT> as b on a.hotel_id = b.hotel_id '</P> <P>SET @strSQL = @strField + @strWhere + @strOrder --因為怕代碼太長@strWhere和@strOrder變量就先不在程序里貼出來了</P> <P>exec (@strSQL)</P> <P>執行存儲過程的時候會報錯,變量@tb未定義.請問我該怎么使用呢?謝謝!</P>
查看完整描述

2 回答

?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

你可以把declare @tb的部分也作為字符串拼接到@strSql中。 或者不要拼串,直接寫sql。 BTW: 這樣拼串可能會有sql注入的漏洞

查看完整回答
反對 回復 2018-12-07
?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

我試了,沒有發現錯誤,是不是你其他地方有問題? 如果方便,最好把完整存儲過程和涉及的到的表結構一并貼出,比較容易找到問題

查看完整回答
反對 回復 2018-12-07
  • 2 回答
  • 0 關注
  • 596 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號