新学sqlserver的问题
if exists (select * from sysdatabases where name='bbsDB')
drop database bbsDB
go
exec xp_cmdshell 'mkdir d:\project'
create database bbsDB
on
(
name='bbsDB_db',
filename='d:\project\bbsDB_db.mdf',
size=10,
filegrowth=10%
)
log on
(
name='bbsDB_log',
filename='d:\project\bbsDB_log.ldf',
size=1,
filegrowth=10%,
maxsize=20
)
if exists(select * from sysobjects where name='bbsUsers')
drop table bbsUsers
Go
create table bbsUsers
(
UID INT primary key identity(1,1) NOT NULL,
Uname VARCHAR(15) NOT NULL,
Upassword varchar(10) not null default('888888'),
Uemail varchar(20) check(Uemail like '%@%'),
Usex Bit not null default(1),
UClass int default(1),
Uremark varchar(20),
UregDate datetime not null default getdate(),
Ustate Int default(0),
Upoint int default(20)
drop table bbsUsers
Go
create table bbsUsers
(
UID INT primary key identity(1,1) NOT NULL,
Uname VARCHAR(15) NOT NULL,
Upassword varchar(10) not null default('888888'),
Uemail varchar(20) check(Uemail like '%@%'),
Usex Bit not null default(1),
UClass int default(1),
Uremark varchar(20),
UregDate datetime not null default getdate(),
Ustate Int default(0),
Upoint int default(20)
)
if exists(select * from sysobjects where name='bbsSection')
drop table bbsSection
go
create table bbsSection
(
SID int primary key identity(1,1) not null,
Sname varchar(32) not null,
SmasterID int not null
foreign key(SmasterID) references bbsUsers(UID),
Sprofile int default(0),
SclickCount int default(0),
StopicCount int default(0)
if exists(select * from sysobjects where name='bbsSection')
drop table bbsSection
go
create table bbsSection
(
SID int primary key identity(1,1) not null,
Sname varchar(32) not null,
SmasterID int not null
foreign key(SmasterID) references bbsUsers(UID),
Sprofile int default(0),
SclickCount int default(0),
StopicCount int default(0)
)
if exists(select * from sysobjects where name='bbsTopic')
drop table bbsTopic
go
create table bbsTopic
(
TID int primary key identity(1,1) not null,
TsID int foreign key(TsID) references bbsSection(SID) not null,
TuID int foreign key(TuID) references bbsUsers(UID) not null,
TreplyCount int default(0),
Tface int,
Ttopic varchar(20) not null,
Tcontents varchar(30) not null,
Ttime datetime default getdate(),
TclickCount int default(0),
Tstate int default(1) not null,
TlastReply datetime
)
if exists(select * from sysobjects where name='bbsTopic')
drop table bbsTopic
go
create table bbsTopic
(
TID int primary key identity(1,1) not null,
TsID int foreign key(TsID) references bbsSection(SID) not null,
TuID int foreign key(TuID) references bbsUsers(UID) not null,
TreplyCount int default(0),
Tface int,
Ttopic varchar(20) not null,
Tcontents varchar(30) not null,
Ttime datetime default getdate(),
TclickCount int default(0),
Tstate int default(1) not null,
TlastReply datetime
)
报错
正在删除数据库文件 'd:\project\bbsDB_log.ldf'。
正在删除数据库文件 'd:\project\bbsDB_db.mdf'。
正在删除数据库文件 'd:\project\bbsDB_log.ldf'。
正在删除数据库文件 'd:\project\bbsDB_db.mdf'。
(所影响的行数为 2 行)
CREATE DATABASE 进程正在磁盘 'bbsDB_db' 上分配 10.00 MB 的空间。
CREATE DATABASE 进程正在磁盘 'bbsDB_log' 上分配 1.00 MB 的空间。
服务器: 消息 3726,级别 16,状态 1,行 22
未能除去对象 'bbsUsers',因为该对象正由一个 FOREIGN KEY 约束引用。
服务器: 消息 2714,级别 16,状态 6,行 1
数据库中已存在名为 'bbsUsers' 的对象。
服务器: 消息 2714,级别 16,状态 6,行 1
数据库中已存在名为 'bbsSection' 的对象。
服务器: 消息 2714,级别 16,状态 6,行 1
数据库中已存在名为 'bbsTopic' 的对象。
我知道是外键的问题,如果建库和分开写可以解决,但是我想请教一下,如果字段和约束外键一起写的话如何实现删除带外键的表
请知道的朋友帮忙赐教一下,谢谢
CREATE DATABASE 进程正在磁盘 'bbsDB_log' 上分配 1.00 MB 的空间。
服务器: 消息 3726,级别 16,状态 1,行 22
未能除去对象 'bbsUsers',因为该对象正由一个 FOREIGN KEY 约束引用。
服务器: 消息 2714,级别 16,状态 6,行 1
数据库中已存在名为 'bbsUsers' 的对象。
服务器: 消息 2714,级别 16,状态 6,行 1
数据库中已存在名为 'bbsSection' 的对象。
服务器: 消息 2714,级别 16,状态 6,行 1
数据库中已存在名为 'bbsTopic' 的对象。
我知道是外键的问题,如果建库和分开写可以解决,但是我想请教一下,如果字段和约束外键一起写的话如何实现删除带外键的表
请知道的朋友帮忙赐教一下,谢谢