这句SQL存储过程代码什么意思
select@wbid,a.localip,a.stime,getdate(),a.deskimagefrom@currentaleftjoinlogcurrentbon...
select @wbid,a.localip,a.stime,getdate(),a.deskimage from @current a left join logcurrent b on a.localip=b.localip and b.wbid=@wbid where b.fid is null
这句话代码如果错误,错误在哪呢,记得是存储过程里面的代码啊 展开
这句话代码如果错误,错误在哪呢,记得是存储过程里面的代码啊 展开
展开全部
按照你需求的意思:
带@就是一个变量,这是一个简单的select语句,关键在于它的表名和一些条件是变量组成的。
它就是从表@current 与表logcurrent 的左连接且连接条件为:a.localip=b.localip and b.wbid=@wbid 中找出a.localip,a.stime,getdate(),a.deskimage 这三个字段。
其中@wbid是个变量,赋值后就是常量了好比:字符串'var'
getdate()是获得当前系统的时间。
最重要的一点是你的这句select是有错误的,在过程中如果遇到表名或者列名是变量的话,要用SQL的动态语法,而不能直接像你那样写的。
正确写法:
SET SQLSTR='select '+@wbid+',a.localip,a.stime,getdate(),a.deskimage from '+@current+' a left join logcurrent b on a.localip=b.localip and b.wbid='''+@wbid+''' where b.fid is null'
带@就是一个变量,这是一个简单的select语句,关键在于它的表名和一些条件是变量组成的。
它就是从表@current 与表logcurrent 的左连接且连接条件为:a.localip=b.localip and b.wbid=@wbid 中找出a.localip,a.stime,getdate(),a.deskimage 这三个字段。
其中@wbid是个变量,赋值后就是常量了好比:字符串'var'
getdate()是获得当前系统的时间。
最重要的一点是你的这句select是有错误的,在过程中如果遇到表名或者列名是变量的话,要用SQL的动态语法,而不能直接像你那样写的。
正确写法:
SET SQLSTR='select '+@wbid+',a.localip,a.stime,getdate(),a.deskimage from '+@current+' a left join logcurrent b on a.localip=b.localip and b.wbid='''+@wbid+''' where b.fid is null'
追问
存储过程这样写运行不了吧、
追答
SET SQLSTR就是将右边的一串字符赋给它
当然了还要
加上这句:EXEC SP_EXECUTESQL SQLSTR
好好看下什么是动态语法。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询