--系统表
CREATE TABLE [dbo].[E000] (
 [General_ID] [int] IDENTITY (1,1) NOT FOR REPLICATION NOT NULL ,
 [General_Code] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL PRIMARY KEY CLUSTERED,
 [General_Name] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,
 [General_PY] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,
 [Upper_General_ID] [int] NOT NULL
) ON [PRIMARY]
GO

--子集表(外健,级联删除)
create table ss(ID int IDENTITY (1,1) NOT FOR REPLICATION NOT NULL PRIMARY KEY CLUSTERED,SysTypeCode char(10) not null REFERENCES B000(General_Code) ON DELETE CASCADE)  

--类型表
CREATE TABLE [dbo].[MS00] (
 [ID] [int] IDENTITY (1, 1) NOT FOR REPLICATION  NOT NULL ,
 [SysTypeCode] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[MS00] WITH NOCHECK ADD
  PRIMARY KEY  CLUSTERED
 (
  [SysTypeCode]
 )  ON [PRIMARY]
GO

ALTER TABLE [dbo].[MS00] ADD
  FOREIGN KEY
 (
  [SysTypeCode]
 ) REFERENCES [dbo].[M000] (
  [General_Code]
 ) ON DELETE CASCADE
GO

--将符合一定条件的记录插入两外一个表
insert IrrBUAuthorization(Authorization_User,Authorization_Function)
select 1,Function_Id from IrrBUFunction

--备份还原数据库,在delphi里
use master
BACKUP DATABASE newdb TO DISK = 'D:\灌区基础数据库\my demo\Backup\1.dat'
ALTER DATABASE newdb SET OFFLINE WITH ROLLBACK IMMEDIATE

RESTORE DATABASE newdb FROM DISK = 'D:\灌区基础数据库\my demo\Backup\1.dat'
ALTER DATABASE newdb SET ONLINE WITH ROLLBACK IMMEDIATE

--主表的一个字段等于字段相关字段的和

update ct00 set ct00000006 = (select sum(ct01000001) from ct01 where general_code=ct00.general_code)

 

Posted on 2004-04-07 10:55  清澜  阅读(1079)  评论(0)    收藏  举报