sql server 也可以呀 在sybase 上是在sysobjects中查找 select 目标名 from 数据库..sysobjects where name='目标名' sysobjects 在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。列名 数据类型 描述 name sysname 对象名。 Id int 对象标识号。 xtype char(2) 对象类型。可以是下列对象类型中的一种: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束 L = 日志 FN = 标量函数 IF = 内嵌表函数 P = 存储过程 PK = PRIMARY KEY 约束(类型是 K) RF = 复制筛选存储过程 S = 系统表 TF = 表函数 TR = 触发器 U = 用户表 UQ = UNIQUE 约束(类型是 K) V = 视图 X = 扩展存储过程
uid smallint 所有者对象的用户 ID。 info smallint 保留。仅限内部使用。 status int 保留。仅限内部使用。 base_schema_ ver int 保留。仅限内部使用。 replinfo int 保留。供复制使用。 parent_obj int 父对象的对象标识号(例如,对于触发器或约束,该标识号为表 ID)。 crdate datetime 对象的创建日期。 ftcatid smallint 为全文索引注册的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0。 schema_ver int 版本号,该版本号在每次表的架构更改时都增加。 stats_schema_ ver int 保留。仅限内部使用。 type char(2) 对象类型。可以是下列值之一: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束 FN = 标量函数 IF = 内嵌表函数 K = PRIMARY KEY 或 UNIQUE 约束 L = 日志 P = 存储过程 R = 规则 RF = 复制筛选存储过程 S = 系统表 TF = 表函数 TR = 触发器 U = 用户表 V = 视图 X = 扩展存储过程
查询生成器有模板: -- ============================================= -- Create table basic template -- ============================================= IF EXISTS(SELECT name FROM sysobjects WHERE name = N'<table_name, sysname, test_table>' AND type = 'U') DROP TABLE <table_name, sysname, test_table> GOCREATE TABLE <table_name, sysname, test_table> ( <column_1, sysname, c1> <datatype_for_column_1, , int> NULL, <column_2, sysname, c2> <datatype_for_column_2, , int> NOT NULL) GO
if exit (select * from sysobjects where name='tablename' and type='t') drop table tablename
察看系统表 oracle select count(*) from tabs where table_name='your tablename'; count>0----有 else没有
if (select object_id('tablename')) is not null begin print '存在' end else begin print '不存在' end
... SQL.Add('select name from sysobjects where name = tmp and type=u'); open; ... if ADOQuery.IsEmpty then ShowMessage('表tmp不存在!');
在sybase 上是在sysobjects中查找
select 目标名 from 数据库..sysobjects where name='目标名'
drop table [dbo].[A_ClientSet]CREATE TABLE [dbo].[A_ClientSet] (
[ID] [int] IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL ,
[ClientSet] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[FirstData] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[LastData] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[month] [int] NULL
) ON [PRIMARY]
在sybase 上是在sysobjects中查找
select 目标名 from 数据库..sysobjects where name='目标名'
sysobjects
在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。列名 数据类型 描述
name sysname 对象名。
Id int 对象标识号。
xtype char(2) 对象类型。可以是下列对象类型中的一种:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程
uid smallint 所有者对象的用户 ID。
info smallint 保留。仅限内部使用。
status int 保留。仅限内部使用。
base_schema_
ver int 保留。仅限内部使用。
replinfo int 保留。供复制使用。
parent_obj int 父对象的对象标识号(例如,对于触发器或约束,该标识号为表 ID)。
crdate datetime 对象的创建日期。
ftcatid smallint 为全文索引注册的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0。
schema_ver int 版本号,该版本号在每次表的架构更改时都增加。
stats_schema_
ver int 保留。仅限内部使用。
type char(2) 对象类型。可以是下列值之一:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程
-- =============================================
-- Create table basic template
-- =============================================
IF EXISTS(SELECT name
FROM sysobjects
WHERE name = N'<table_name, sysname, test_table>'
AND type = 'U')
DROP TABLE <table_name, sysname, test_table>
GOCREATE TABLE <table_name, sysname, test_table> (
<column_1, sysname, c1> <datatype_for_column_1, , int> NULL,
<column_2, sysname, c2> <datatype_for_column_2, , int> NOT NULL)
GO
drop table tablename
oracle
select count(*) from tabs where table_name='your tablename';
count>0----有
else没有
begin
print '存在'
end
else
begin
print '不存在'
end
SQL.Add('select name from sysobjects where name = tmp and type=u');
open;
...
if ADOQuery.IsEmpty then
ShowMessage('表tmp不存在!');