sql建表问题

来源:百度知道 编辑:UC知道 时间:2024/07/15 19:27:56
我是sql初学者 ,有的时候在查询分析器中一次建很多表,当中间出错修改后重新运行就会出现前面对象已经存在的错误,由于表太多了,后面出错难免,而前面表已经建成了,重新运行总是会出错,该怎样做才能减少这样的错误?有时候删除表,提示无法删除因为有外键约束,我还要去找另外的表先删除它,我该怎么做才能减少工作量?
补充一下,为什么我在企业管理器里看不见master等sql2000默认的数据库,但是在查询分析器的数据库下拉列表框中确有那些数据库,建表时候不小心把表建在了master 中,我该怎样删除?我该怎样在企业管理器中找到它?

你不会是在一个批处理中建立多个表吧,比如
create table 1
.....

create table 2
.....
create table 3
.....
....
go
最后才出个go?
不建议批处理这样写。
根据我的理解你可能是:你每次执行的时候都是按f5或上面那个绿色小三角,这样的话你的查询分析器中的所以语句都要执行,而这代码的一部分前面你已经执行过了,是不是?
你可以用鼠标选中你要执行的语句,然后按f5或上面的那个绿色小三角

至于有外键约束的表删除不了,你可以删除外键约束,
sp_help 表名字
查看外键约束的名字,然后删除
drop 外键约束名字

把表建立在master数据库中,你可以这样
select name from sysobjects where type='u'
--查看master数据库中的表,如果你确实把表建立在这个数据库中了。执行下面
drop 表名字

企业管理器中默认是有的,你要多刷新几下,找到到SQL组和本地服务 一般默认为:LOCAL下

use master
if exits(select * from sysobjects where name=表名)/*查询表是否已经存在*/
drop table 表名 /*存在的话删除表*/
这样可以删除它,你如果经常用错数据库,可以每次用之前
use 数据库
这样你就不会出错了

给表命名的时候应该有一定规律,要一目了然,这样你自己心里就有数了,你的合作伙伴也容易看懂。

你要找的表在哪个数据库中就在哪个数据库中建立查询,也可以用代码:
use 数据库名
select * from 表名