以下是用sql server 2000 生成的脚本
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Course_Teacher]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
ALTER TABLE [dbo].[Course] DROP CONSTRAINT FK_Course_Teacher
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Course]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Course]
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Student]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Student]
GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Teacher]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Teacher]
GOCREATE TABLE [dbo].[Course] (
[CourseID] [decimal](18, 0) IDENTITY (1, 1) NOT NULL ,
[CourseName] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[CourseDescription] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
[CourseStatus] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[CourseStudent] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[CourseTeacher] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GOCREATE TABLE [dbo].[Student] (
[StudentID] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[StudentPsd] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[StudentName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[StudentSex] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[StudentTel] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[StudentEmail] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[RegDate] [datetime] NULL 
) ON [PRIMARY]
GOCREATE TABLE [dbo].[Teacher] (
[TeacherID] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[TeacherPsd] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[TeacherName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[TeacherDuty] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[TeacherTel] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[TeacherEmail] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[RegDate] [datetime] NULL 
) ON [PRIMARY]
GO
我自己写的sql代码:
CREATE DATABASE test;USE test;CREATE TABLE Student(
StudentID  varchar(50) NOT NULL PRIMARY KEY,
StudentPsd varchar(50),
StudentName varchar(50),
StudentTel varchar(50),
StudentEmail varchar(50),
RegDate datetime
);
CREATE TABLE Teacher(
TeacherID   varchar(50) NOT NULL PRIMARY KEY,
TeacherPsd  varchar(50),
TeacherName  varchar(50),
TeacherDuty  varchar(50),
TeacherTel  varchar(50),
TeacherEmail varchar(50),
RegDate datetime
);
CREATE TABLE Course(
CourseID decimal(9) IDENTITY(1,1) NOT NULL PRIMARY KEY,
CourseName  varchar(100),
CourseDescription  varchar(500),
CourseStatus  varchar(50),
CourseStudent  varchar(50),
CourseTeacher  varchar(50) constraint FK_T2 references Teacher(TeacherName)
);问题是,我写的代码不能达到第一个代码的功能,第一个代码前面的四个if exist开头的我不知道是什么意思,小弟是初学者,请各位大哥哥大姐姐指点一下,我要怎么改我的代码。
今天第二次发贴求助,恳请各位耐心指点。

解决方案 »

  1.   

    本帖最后由 libin_ftsafe 于 2009-02-13 16:17:33 编辑
      

  2.   

    但是在建Course表时出错,这是怎么回事
      

  3.   

    CREATE TABLE Student( 
    StudentID  varchar(50) NOT NULL PRIMARY KEY, 
    StudentPsd varchar(50), 
    StudentName varchar(50), 
    StudentTel varchar(50), 
    StudentEmail varchar(50), 
    RegDate datetime 
    ); 
    goCREATE TABLE Teacher( 
    TeacherID  varchar(50) NOT NULL PRIMARY KEY, 
    TeacherPsd  varchar(50), 
    TeacherName  varchar(50), 
    TeacherDuty  varchar(50), 
    TeacherTel  varchar(50), 
    TeacherEmail varchar(50), 
    RegDate datetime 
    ); 
    goCREATE TABLE Course( 
    CourseID decimal(9) IDENTITY(1,1) NOT NULL PRIMARY KEY, 
    CourseName  varchar(100), 
    CourseDescription  varchar(500), 
    CourseStatus  varchar(50), 
    CourseStudent  varchar(50), 
    CourseTeacher  varchar(50) constraint FK_T2 references Teacher(TeacherID) 
    ); 
    goALTER TABLE [dbo].[Course] DROP CONSTRAINT FK_T2 
    drop table Student,Teacher,Course
    go