sql拼接字符串问题

ajdkjalj 2018-09-13 02:59:44
declare @sqldf nvarchar(500),
@inid int
set @sqldf= 'select '+@inid+'=max(inid) from U8LOC.UFDATA_123_2018.dbo.GL_accvouch'
exec(@sqldf)
报“在将varchar值'select ' 转换为int时失败”,我就想将max(inid)赋值给@inid,但是由于业务需要,要用拼接字符串的方式执行,我要怎么改才行
...全文
511 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
acen_chen 2018-09-13
  • 打赏
  • 举报
回复
inid在数据库里面是字符型吧
用max(convert(int,inid))
吉普赛的歌 2018-09-13
  • 打赏
  • 举报
回复
--参照
DECLARE @i INT,@sql NVARCHAR(MAX)
SET @sql='set @i=1'
EXEC sp_executesql @sql,N'@i int out',@i OUT
SELECT @i

--你的
declare @sqldf nvarchar(500),@inid int
set @sqldf= 'select @inid=max(inid) from U8LOC.UFDATA_123_2018.dbo.GL_accvouch'
EXEC sp_executesql @sqldf,N'@inid int out',@inid OUT
ajdkjalj 2018-09-13
  • 打赏
  • 举报
回复
不是这样的,因为要写到不同的库,所以from 库+table要用字符串拼接,拼接起来就出现了上面的问题
二月十六 2018-09-13
  • 打赏
  • 举报
回复
业务还管怎么得到数据?直接这样写也得到了
SELECT
@inid = MAX(inid)
FROM
U8LOC.UFDATA_123_2018.dbo.GL_accvouch;

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧