exec sp_executesql

happycat1029 2008-12-04 04:10:44
Declare @SQL_Link nvarchar(4000),@callEndDate nvarchar(2000),@program varchar(50)
set @program = 'test'

set @SQL_Link = 'Select '+@callEndDate+' = (Select call_end_date From '+ @program + '..callEndDate)'
print @SQL_Link

exec sp_executesql @SQL_Link

为什执行后没有结果出来呢?
...全文
87 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
happycat1029 2008-12-05
  • 打赏
  • 举报
回复
我原来的本意是给那个变量赋值,然后另外的地方要使用这个变量。不过后来,换了一种思路,放弃了这种做法,结果成功了。
这里特别感谢lzhs和happyflystone。当然也谢谢其他的朋友。
lzhs 2008-12-05
  • 打赏
  • 举报
回复
执行的output是什么?
你那个语句只是给那个变量赋值。
你问题里的那段SQL,结果肯定是没有任何Output的。
happycat1029 2008-12-04
  • 打赏
  • 举报
回复
有且只有一种结果(非结果集),这是我们系统一种特殊的机制。
happycat1029 2008-12-04
  • 打赏
  • 举报
回复
有且只有一种结果(非结果集),这是我们系统一种特殊的机制。
-狙击手- 2008-12-04
  • 打赏
  • 举报
回复
运行:

Select call_end_date From test..callEndDate

有结果吗?
lzhs 2008-12-04
  • 打赏
  • 举报
回复

DECLARE @i int
SELECT @i = (SELECT COUNT(1) FROM sys.objects)
--如果只到这里,那么这个语句只是给@i赋值而已,如果你想显示@i的值,还需要加上下面的语句,同理
SELECT @i
happycat1029 2008-12-04
  • 打赏
  • 举报
回复
4楼的默认成了一个数据库内,实际上我做的是跨库的
happycat1029 2008-12-04
  • 打赏
  • 举报
回复
我的目的就是让Select call_end_date From '+ @program + '..callEndDate的结果赋给@callEndDate。2楼的结果出不来,和我另外一种做法比较相像。先谢谢了!
林虎 2008-12-04
  • 打赏
  • 举报
回复
create table test(call_end_date varchar(10))
insert into test select 'test'
go
Declare @SQL_Link nvarchar(4000),@callEndDate nvarchar(2000),@program varchar(50)
set @program = 'test'
set @callEndDate = 'col'

set @SQL_Link = 'Select '+@callEndDate+' = (Select call_end_date From '+ @program + ')'
--print @SQL_Link

exec sp_executesql @SQL_Link
/*
col
----------
test

(1 行受影响)
*/
drop table test
rucypli 2008-12-04
  • 打赏
  • 举报
回复
'Select '+@callEndDate+' = (Select call_end_date From '+ @program + '..callEndDate)'

都“=”赋值了 还能有结果啊
-狙击手- 2008-12-04
  • 打赏
  • 举报
回复
Declare @SQL_Link nvarchar(4000),@callEndDate nvarchar(2000),@program varchar(50) 
set @program = 'test'

set @SQL_Link = 'Select @callEndDate = call_end_date From '+ @program + '..callEndDate'
print @SQL_Link

exec sp_executesql @SQL_Link ,N'@callEndDate nvarchar(2000) output',@callEndDate

select @callEndDate

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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