如何让程序执行过程中,,用代码判断某张名为table_name的表是否存在???

jwhacsdn 2004-04-14 02:07:23
如何让程序执行过程中,,用代码判断某张名为table_name的表是否存在???
因为如果存在,,我就可以将输入插入表中,,
若不存在,,就可以create table table_name,,然后再插入。。。。。。
...全文
8 点赞 收藏 15
写回复
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
freedom2001 2004-04-16
判断系统表啊
回复
klbt 2004-04-16
用系统表PBCATTBL判断
回复
daijintao 2004-04-16
up
回复
kingxx 2004-04-15
方法上面都可以帮你解决了
你想搞清楚,最好的办法就是去看MSSQL数据库自带的帮助,这样你就会明白其中的方法和说明的了。如sysobject,OBJECTPROPERTY等,还有就是点击MSSQL数据库中任一个表(用右键点->所有任务->生成SQL脚本->预览),就会有上面的代码了。
回复
bigtailwolf163 2004-04-15
-- ==================================
-- create table t_subsidy_count_set
-- ==================================
if not exists (select * from sysobjects where type = 'U' and name = 't_subsidy_count_set')
create table t_subsidy_count_set(
ID int identity(1, 1) not null,
DMSSet char(1) not null,
DBSSet char(1) not null,
IBSSet char(1) not null,
TBSSet char(1) not null,
AOSSet char(1) not null,
DCSSet char(1) not null,
ICSSet char(1) not null,
DASSet char(1) not null,
IASSet char(1) not null,
TASSet char(1) not null
)
go
回复
jwhacsdn 2004-04-15
有人可以授人以渔吗?????
回复
10975037 2004-04-15
用存储过程做: //用于前台的某一事件
string ls_err
declare sp_01 procedure for qianqi1 ;
execute sp_01;
if sqlca.sqlcode=-1 then
ls_err=sqlca.sqlerrtext
rollback;
messagebox('','提示'+ls_err)
end if
close sp_01;
commit;
存储过程:
CREATE PROCEDURE [qianqi2] AS
if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablename]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
create table tablename( aa char(10),
bb char(10)
)
GO
//有表不建立,无表建立 ,缺点是用户的不到无表时的提示信息。
回复
jwhacsdn 2004-04-14
这方面的问题,,可以从哪里详细的了解。。。。
属于哪个方面的问题???
是数据库,,还是powerbuilder,,,,,
怎样可以补一下这方面的知识????
回复
ckc 2004-04-14
直接create,如果此表已经存在,你的create是不会起作用的
回复
daijintao 2004-04-14
补充一句,以上代码是sql server中编写的;
还要注意你的表在哪个数据库中,以上代码第一句加上

USE 数据库名称
GO
回复
daijintao 2004-04-14
if exists (select * from sysindexes where name='table_name')//true:该表存在
begin
//可以插入数据
end
回复
jwhacsdn 2004-04-14
自己顶一下!!
回复
jwhacsdn 2004-04-14
这方面的问题,,可以从哪里详细的了解。。。。
比如说某方面的书,,某些章节,,,之类的。。。。。。
谢了。。。。
回复
feixianzhi 2004-04-14
查找系统表 prot...名字我不记得了,你可以再系统表中找到你的所有表名!
回复
FOLEX 2004-04-14
if exists (select * from sysobjects where id = object_id(N'[dbo].[table_name]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[table_name]
GO

create table_name(....)
回复
发动态
发帖子
数据库相关
创建于2007-09-28

730

社区成员

PowerBuilder 数据库相关
申请成为版主
社区公告
暂无公告