请教SQL xquery语句写法

qq_20559831 2015-01-07 01:19:19
SET @ExamList =
(SELECT CNTR,
TALLY_TIME
FROM OPENQUERY(ORA1,'SELECT *
FROM SCOTT.EMP WHERE ID='+ @SHIPCODE + ' AND NAME='+ @NAME+' )
FOR XML PATH ('ExamC'),ROOT('ExamList'));

红色这段参数应该怎样写呢?究竟要参数那里要加多少个单引号呢~老是提示语法错误
如果远程连接那里不加条件就没有问题,但是加了条件,我就不知道怎样写才对咯,请各位指点
...全文
79 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_20559831 2015-01-07
  • 打赏
  • 举报
回复
可以了~~谢谢ky_min~
还在加载中灬 2015-01-07
  • 打赏
  • 举报
回复
其实不是5个,是1+4 在字符串内,两个单引号表示1个单引号字符, 因此,在字符串内,需要用4个单引号,表示在字符串里面的字符串中的单引号 有点绕,反正意思还是这个在字符串内,两个单引号表示1个单引号字符
qq_20559831 2015-01-07
  • 打赏
  • 举报
回复
哦,我试试先 为什么有时参数那里只有一个单引号,有时又要5个,这是什么原理
还在加载中灬 2015-01-07
  • 打赏
  • 举报
回复
DECLARE @ExamList XML,@SHIPCODE VARCHAR(10),@NAME VARCHAR(20)
SET @SHIPCODE=''
SET @NAME=''
DECLARE @SQL NVARCHAR(4000)
SET @SQL=N'SET @ExamList = 
(SELECT ID,CODE
FROM OPENQUERY(ORA1,''SELECT *
FROM SCOTT.EMP WHERE ID='+ @SHIPCODE + ' AND CODE='''''+ @NAME+''''' '')       
FOR XML PATH (''ExamC''),ROOT(''ExamList''))'
--PRINT @SQL
EXEC SYS.SP_EXECUTESQL @SQL,N'@ExamList XML OUT',@ExamList OUT
--SELECT @ExamList
那就需要动态执行了

34,576

社区成员

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

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