在该库中的系统表SysColumns中找到该表名则说明存在。
解决方案 »
- 怎么把SqlServer2008的数据库文件(MDF,LDF)转换为SqlServer2005的数据库文件(MDF,LDF)?
- |zyciis| 用多个字段保存 年 月 日,和当用一个字段保存,在查询和Group by的时候是否有更好的效率 谢谢
- SQL的文档跟图片混存的问题
- 向大家请教一个问题...
- 高分求教erwin入门问题。
- Sql 安装出现的问题?跪倒求救
- sql2000,10005错误,过段时间,PB程序就会连不上数据库,重起PB程序就好了,求救啊
- SQL2005 BI问题 请求支援
- 大哥大姐,这种远程取数据的问题你们碰过密有?
- 存储过程怎样嵌套?
- SQL Server能否设置只有本机才可以连接,或限制客户端的ip地址?
- 服务器的文件目录????
select name from sysobjects where name='yourtablename' and type='U';
if rs.eof then
没有表
end if
在服务器端判断
1。if exists(select name from sysobjects where name='yourtablename' and type='U')
表存在或者
2。
if object_id('yourtablename') is null
表不存在
begin
drop table tablename
end
create table tablename
on error resume next
'drop table
on error goto next
'create table
不管什么情况,先删表,用设陷错误来 处理 没有表可删的情况:
on error resume next
'drop table
on error goto 0
'create table
可是这样的话,软件运行中:还是会先出现错误,这时候软件就中止了,不能执行下面的错误处理语句,......
另外,goto 0是跳到哪里了啊?
exec( ' if(object_id('+ @tablename + ') is not null)
drop table dbo.'+ @tablename )
所以表名两边的那个单引号就打不进去了,也就运行不了这个语句了,怎么办啊,我急死了!
上面的语句第一句:on error resume next 就是若第二句“drop table”有错,就跳不执行第二句。
on error goto 0 就是不处理设陷错误。这里是用来取消第一句的作用的。因为这四句完后下面的语句可能还是要设陷错误处理的。若这个表存在,会执行第二句及第四句。
若这个表不存在,只执行第四句。