求一SQL语句(nvarchar类型的update)

dabtd 2006-06-29 05:25:14
update table1 set company_address = @address where company_id = @company_id
其中@address,@company_id 是变量,company_address和company_id是nvarchar类型,所以前面要加'N',那是不是必须先拼成一个动态SQL语句,再去执行?
比如:
set @SQL = 'update table1 set company_address = N'''+@address+''''+' where company_id = N'''+@company_id+''''
exec(@sql)
有没有不用动态 sql的办法更新nvarchar类型的数据?
谢谢!

...全文
291 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dabtd 2006-06-29
  • 打赏
  • 举报
回复
是的,就是这样!谢了!
云中客 2006-06-29
  • 打赏
  • 举报
回复
declare @company_id varchar(10)
declare @SQL nVarchar(800)
set @SQL = 'update table1 set company_address = '+@address+' where company_id = '''+@company_id+''''
EXECUTE sp_executesql @sql1
hellowork 2006-06-29
  • 打赏
  • 举报
回复
给nvarchar类型变量赋值时要加上N标识符.
hellowork 2006-06-29
  • 打赏
  • 举报
回复
declare @company_id nvarchar(10)
set @company_id = N'12345'
update ... where company_id = @company_id
LouisXIV 2006-06-29
  • 打赏
  • 举报
回复
不用

你把变量定义成nvarchar类型即可

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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