如果将字段查询出来?

liao71 2007-06-23 04:18:02
我在程序里写了这样的语句,
DECLARE @db_name UStrMid,
@table_name UStrName
SET @table_name='TPB_Saler'
select a.name from dbo.syscolumns a,system.dbo.syscolumns b
where a.name=b.name and a.id=b.id
and a.id=object_id(N'''+@table_name+''') and a.iscomputed=0 and a.colstat=0
执行语句后表'TPB_Saler'中的查询内容无法显示出来.
如果直接查询
select * from dbo.syscolumns where id=object_id('TPB_Saler')则可以将所有查询内容显示
这是什么原因呢?要怎么写才能将内容显示出来,请知道的高手帮个忙.谢谢...
...全文
150 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liao71 2007-06-23
  • 打赏
  • 举报
回复
如果是换成sysname,的话是可以显示出来的.问题解决.谢谢你.(一两清风)另送上20银两.
hellowork 2007-06-23
  • 打赏
  • 举报
回复
DECLARE @db_name UStrMid,
@table_name UStrName
-------------------------------------------------
UStrMid和UStrName 好像是自定义数据类型,换成sysname或varchar(128)试试:
DECLARE @db_name sysname,
@table_name sysname
liao71 2007-06-23
  • 打赏
  • 举报
回复
因为有很多表.要用到这个存储过程,所以执行是必须要用变量才行.
单单查询这个表是可以的.
liao71 2007-06-23
  • 打赏
  • 举报
回复
不使用变量可以查询出来.
hellowork 2007-06-23
  • 打赏
  • 举报
回复
不使用变量,直接使用表名称试一下,如果仍然查不出结果,就不是语法的问题,而是没有符合条件的行:
select a.name from dbo.syscolumns a,dbo.syscolumns b
where a.name=b.name and a.id=b.id
and a.id=object_id('TPB_Saler') and a.iscomputed=0 and a.colstat=0
liao71 2007-06-23
  • 打赏
  • 举报
回复
你写的我也试过了.还是查询不出来.我就觉得奇怪了.谢谢这位三星的高手.
昵称被占用了 2007-06-23
  • 打赏
  • 举报
回复
DECLARE @db_name UStrMid,
@table_name UStrName
SET @table_name='TPB_Saler'
select a.name from dbo.syscolumns a,dbo.syscolumns b
where a.name=b.name and a.id=b.id
and a.id=object_id(@table_name) and a.iscomputed=0 and a.colstat=0

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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