如何判断数据库(SQL SERVER)里是否存在某张表 或 表里是否存在某个字段!

时间:2021-09-30 00:34:35
数据库是SQL SERVER 2000,我用的是ADOConnection和ADOQuery连的
数据库名为 netbar  要判断的表为 tmpupd
要判断表tmpupd是否存在,如果存在判断表中是否存在字段'abc'
不存在表tmpupd就新建表,不存在字段'abc'就新增加字段'abc'
请问这个应该怎么处理

8 个解决方案

#1


新建表:'abc'类型为int 不为空
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('create table tmpupd (abc int not null)');
ADOQuery1.Execute

#2


判断表是否存在  select * from sysobjects where name=‘表名’

判断字段是否存在 看syscolumns表

#3


弄错了,添加一个字段的话是
 'Alter table tmpupd add abc int;

#4


if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[code_work_kind]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[code_work_kind]
GO

#5


good

#6


是否存在表  select name from sysobjects where name='表名'
某表是否存在字段
select * from (
select name,id from syscolumns where name='字段名')a,
(select name,id from sysobjects where name='表名')b
where a.id=b.id

#7


cjs5210(我是菜鸟)  強。

#8


gao shou!

#1


新建表:'abc'类型为int 不为空
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('create table tmpupd (abc int not null)');
ADOQuery1.Execute

#2


判断表是否存在  select * from sysobjects where name=‘表名’

判断字段是否存在 看syscolumns表

#3


弄错了,添加一个字段的话是
 'Alter table tmpupd add abc int;

#4


if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[code_work_kind]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[code_work_kind]
GO

#5


good

#6


是否存在表  select name from sysobjects where name='表名'
某表是否存在字段
select * from (
select name,id from syscolumns where name='字段名')a,
(select name,id from sysobjects where name='表名')b
where a.id=b.id

#7


cjs5210(我是菜鸟)  強。

#8


gao shou!