我想在一张表的一个字段里面存入另一张表的名字,请问怎么通过这个名字来操作那张表?

时间:2021-05-26 14:43:56

我想在一张表的一个字段里面存入另一张表的名字,例如:
ID TableName
1 t
2 g
随后通过TableName里的名字来操作那张表
请问我怎么实现呢?如果这样不行的话,那有什么办法吗?

3 个解决方案

#1


declare @a varchar(100)
select @a=tablename from 表 where id=1

exec('select * from '+@a)

#2


是字段[也就是在该记录中 另外一个表的名字]变成SQL语句的一部分
执行SQL语句
DECLARE @charSQL VARCHAR(1000)
DECLARE @charTable SYSNAME
--生成SQL语句
  SET @charTable=xxx...
  SET @charSQL='SELECT * FROM '+@charTable+' WHERE ...'条件
--生成SQL语句
EXECUTE(@charSQL)

#3


都被上面的说完了,可以看看sysobjects系统表,它里面存放的就是整个表的信息

#1


declare @a varchar(100)
select @a=tablename from 表 where id=1

exec('select * from '+@a)

#2


是字段[也就是在该记录中 另外一个表的名字]变成SQL语句的一部分
执行SQL语句
DECLARE @charSQL VARCHAR(1000)
DECLARE @charTable SYSNAME
--生成SQL语句
  SET @charTable=xxx...
  SET @charSQL='SELECT * FROM '+@charTable+' WHERE ...'条件
--生成SQL语句
EXECUTE(@charSQL)

#3


都被上面的说完了,可以看看sysobjects系统表,它里面存放的就是整个表的信息