用SQL语言如何判断数据库中是否存在一个指定的表?(20分)

  • 主题发起人 主题发起人 mgq_sir
  • 开始时间 开始时间
M

mgq_sir

Unregistered / Unconfirmed
GUEST, unregistred user!
用SQL语言如何判断数据库中是否存在一个指定的表?
 
if table.active=true then
begin
showmessade('有');
...
end
else
begin
showmessage('没有');
exit;
end;
 
MS SQL server中

IF EXISTS(SELECT * FROM sysobjects WHERE name='表名' )
 
顺便问一下'小人物'老大?( :)挺怪的?)SQL中有没有宏替换的操作?
我想实现如'select * from @tablename'的操作可能吗?谢谢.
 
这个好像不叫宏替换操作吧.是一般的带参数查询.
 
各种数据库都有特定的表
可以从中找到table name
oracle好象是
tab_name表(记不清了)
 
SQLServer在每个库中都有视图Tables,
用Select * From Tables Where Table_Type = 'BASE TABLE'就可以得到所有的表了

另外,Select * From :TableName是不对的,可以
Close;
SQL.Text := Format('Select * From %s', [TableName]);
Open;
 
Select * From Tables Where Table_Type = 'BASE TABLE'
run不了?
 
如果是SQL SERVER,关于表的信息在sysobjects表中.
select * from sysobjects where name='你要找的表名' and o.xtype='U'
~~~~~~~~~~~~~~~
表示是用户建的表,
如果是系统的表不要
这个判断
更深入的东东查SQL SERVER的books online(就输入syscolumns,sysobjects或者systypes
就可以了).
 
多人接受答案了。
 
后退
顶部