在sql server动态sql中引用疑问 [英] Quotation doubt in sql server dynamic sql

查看:77
本文介绍了在sql server动态sql中引用疑问的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  set  @sSQL = ' 插入#tempBusDetails(Bus_Route_ID,Bus_Route_Name,Vehicle_No,Max_Occupacy,
Current_Occupacy,Driver_Name,Driver_Mobile_No,Assistant_Name,Assistant_Mobile_No,Hub_ID,HTML_StopName)
SELECT distinct(bd.Bus_Route_ID),bd.Bus_Route_Name ,bd.Vehicle_No,bd.Max_Occupacy,dbo.Current_Count(bd.Bus_Route_ID)AS User_Count,bd.Driver_Name,
bd.Driver_Mobile_No,bd.Assistant_Name,bd.Assistant_Mobile_No,f.Facility_Name,dbo.fnc_CreateHTML_StopName(bd。 Bus_Route_ID)AS HTML_StopName
FROM dbo.tbl_Bus_Details AS bd
INNER JOIN dbo.tbl_Facility AS f ON bd.Hub_ID = f.Facility_ID
INNER JOIN dbo.tbl_stop_details as sd on sd.Bus_route_id = bd .bus_route_id
WHERE bd.Inactive ='
+ cast( @ Ina ctive as varchar )+ ' '





我有疑问在引号中(在最后一行)。 

- > WHERE bd.Inactive ='+ cast(@Inactive as varchar)+''

- >就像bd.Inactive ='(此报价是开始报价的结尾)。如果是,那么为什么我们需要最后两个引号(+'')。


- >或者它是否包含在单引号中:'+ cast(@Inactive as varchar)+'。并且最终报价因开始报价而关闭。

请指导我。

解决方案

Quote:

- >或者它是否包含在单引号中:'+ cast(@Inactive as varchar)+'。并且最终报价关闭以便开始报价。



是的,这一个。 :)


set @sSQL='Insert into #tempBusDetails(Bus_Route_ID ,Bus_Route_Name ,Vehicle_No,Max_Occupacy,
                                       Current_Occupacy ,Driver_Name ,Driver_Mobile_No ,Assistant_Name ,Assistant_Mobile_No,Hub_ID,HTML_StopName)
              SELECT distinct(bd.Bus_Route_ID),bd.Bus_Route_Name, bd.Vehicle_No, bd.Max_Occupacy, dbo.Current_Count(bd.Bus_Route_ID) AS User_Count, bd.Driver_Name,
                   bd.Driver_Mobile_No,bd.Assistant_Name, bd.Assistant_Mobile_No, f.Facility_Name, dbo.fnc_CreateHTML_StopName(bd.Bus_Route_ID) AS HTML_StopName
              FROM dbo.tbl_Bus_Details AS bd
              INNER JOIN dbo.tbl_Facility AS f ON bd.Hub_ID = f.Facility_ID
              INNER JOIN dbo.tbl_stop_details as sd on sd.Bus_route_id=bd.bus_route_id
              WHERE bd.Inactive='+cast(@Inactive as varchar)+ ''



I have a doubt in the quotation mark(in the last line).

--> WHERE bd.Inactive='+cast(@Inactive as varchar)+ ''

-->is it like bd.Inactive=' (This quotation is end of start quote). If yes then why do we need the last two quotes(+ '').


-->or is it like this is wrapped in single quotes : '+cast(@Inactive as varchar)+ '. And the final quotation is closed for start quote.

Kindly guide me.

解决方案

Quote:

-->or is it like this is wrapped in single quotes : '+cast(@Inactive as varchar)+ '. And the final quotation is closed for start quote.


Yes, this one. :)


这篇关于在sql server动态sql中引用疑问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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