送分题--非常简单的问题! 请来指导

learnall 2003-12-05 11:55:53
怎样声明才可以?

declare @TTable char(20) --数据表
declare @TDatabase char(20) --数据库
declare @SourceDatabase char(40)
set @TTable='..DBtable'
set @TDatabase='DBData'
set @SourceDatabase=rtrim(ltrim(@TDatabase))+rtrim(ltrim(@TTable))
select * from @SourceDatabase


报错: 必须声明变量 '@SourceDatabase'。
...全文
52 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunshareforever 2003-12-05
  • 打赏
  • 举报
回复
exec('select * from '+@SourceDatabase)
devilwind 2003-12-05
  • 打赏
  • 举报
回复
一定要使用动态SQL,以表名,和数据库名做参数在普通SELECT里是行不通的!
zjcxc 元老 2003-12-05
  • 打赏
  • 举报
回复
declare @TTable char(20) --数据表
declare @TDatabase char(20) --数据库
declare @SourceDatabase char(40)
set @TTable='..DBtable'
set @TDatabase='DBData'
set @SourceDatabase=rtrim(ltrim(@TDatabase))+rtrim(ltrim(@TTable))
exec('select * from '+@SourceDatabase)
wzh1215 2003-12-05
  • 打赏
  • 举报
回复
动态执行
declare @TTable char(20) --数据表
declare @TDatabase char(20) --数据库
declare @SourceDatabase char(40)
set @TTable='..DBtable'
set @TDatabase='DBData'
set @SourceDatabase=rtrim(ltrim(@TDatabase))+rtrim(ltrim(@TTable))
exec('select * from '+@SourceDatabase)
txlicenhe 2003-12-05
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2364/2364046.xml?temp=.829693
[交流]动态SQL语句
txlicenhe 2003-12-05
  • 打赏
  • 举报
回复
declare @TTable char(20) --数据表
declare @TDatabase char(20) --数据库
declare @SourceDatabase char(40)
set @TTable='..DBtable'
set @TDatabase='DBData'
set @SourceDatabase=rtrim(ltrim(@TDatabase))+rtrim(ltrim(@TTable))
exec('select * from '+@SourceDatabase)
learnall 2003-12-05
  • 打赏
  • 举报
回复
回的快的拿分多! 谢谢大家......

34,875

社区成员

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

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