动态SQL中的变量@DEPT使用

vbsnake 2005-04-06 11:13:09
DECLARE @DEPT VARCHAR(10)
DECLARE @SQL VARCHAR(8000)
SET @SQL=''
SET @DEPT='A'
SELECT @SQL= @SQL+ ','+quotename(B.NAME,'''')+'=isnull(sum(CASE CODE when '+quotename(A.CODE,'''')+' THEN NQTY END),0)' FROM T A(NOLOCK),CODENAME B(NOLOCK)
WHERE A.CODE = B.CODE

set @SQL = 'select DEPT,PKG,LOT'+@SQL+',TOTAL=sum(NQTY) from T
WHERE DEPT LIKE RTRIM('+@DEPT+')+''%''
Group by DEPT,PKG,LOT with rollup'
exec(@SQL)

1.以上语句中 WHERE DEPT LIKE RTRIM('+@DEPT+')+''%''有误,不使用rtrim的时候就没问题,该如何处理呢?
2.如何最终查询结果集的return
...全文
128 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
vbsnake 2005-04-06
  • 打赏
  • 举报
回复
用exec()执行的动态SQL语句返回的结果集跟普通SQL语句执行返回的结果集一样调用。


是不是直接写return 阿???
vbsnake 2005-04-06
  • 打赏
  • 举报
回复
如果增加 DECLARE @DTE DATETIME
WHERE DEPT LIKE '''+RTRIM(@DEPT)+'%''
改成类似于
WHERE DEPT LIKE '''+RTRIM(@DEPT)+'%'' and MDATE>=@DTE
怎么写啊
子陌红尘 2005-04-06
  • 打赏
  • 举报
回复
用exec()执行的动态SQL语句返回的结果集跟普通SQL语句执行返回的结果集一样调用。
zjcxc 元老 2005-04-06
  • 打赏
  • 举报
回复
RTRIM不应该放在动态语句中
zjcxc 元老 2005-04-06
  • 打赏
  • 举报
回复
DECLARE @DEPT VARCHAR(10)
DECLARE @SQL VARCHAR(8000)
SET @SQL=''
SET @DEPT='A'
SELECT @SQL= @SQL+ ','+quotename(B.NAME,'''')+'=isnull(sum(CASE CODE when '+quotename(A.CODE,'''')+' THEN NQTY END),0)' FROM T A(NOLOCK),CODENAME B(NOLOCK)
WHERE A.CODE = B.CODE

set @SQL = 'select DEPT,PKG,LOT'+@SQL+',TOTAL=sum(NQTY) from T
WHERE DEPT LIKE '''+RTRIM(@DEPT)+'%''
Group by DEPT,PKG,LOT with rollup'
exec(@SQL)
子陌红尘 2005-04-06
  • 打赏
  • 举报
回复
如果在存储过程中执行该动态SQL语句,直接从存储过程结果集中获取这个查询的返回。
子陌红尘 2005-04-06
  • 打赏
  • 举报
回复
DECLARE @DEPT VARCHAR(10)
DECLARE @SQL VARCHAR(8000)
SET @SQL=''
SET @DEPT='A'
SELECT @SQL= @SQL+ ','+quotename(B.NAME,'''')+'=isnull(sum(CASE CODE when '+quotename(A.CODE,'''')+' THEN NQTY END),0)' FROM T A(NOLOCK),CODENAME B(NOLOCK)
WHERE A.CODE = B.CODE

set @SQL = 'select DEPT,PKG,LOT'+@SQL+',TOTAL=sum(NQTY) from T
WHERE DEPT LIKE RTRIM('''+@DEPT+''')+''%''
Group by DEPT,PKG,LOT with rollup'
exec(@SQL)
rocklabzhang 2005-04-06
  • 打赏
  • 举报
回复
mark

34,590

社区成员

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

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