影像店管理建库脚本 cdshop.sql

create database cdshop
go
use cdshop
go
create table 商品分类信息(
类别编号 smallint identity(30000,1) primary key,--5位
类别 varchar(20) unique not null,-- 要求唯一且非空
);

go
create table 商品信息(
条形码 int IDENTITY(10000000,1) not null primary key,--8位
商品名称 varchar(50) not null,
类别编号 smallint not null,--5位
进货价 money not null,
售价 money not null,
foreign key(类别编号) references 商品分类信息(类别编号),
);
go
-- 小数点后面保留2位小数
alter table 商品信息 alter column 进货价 numeric(10,2);
go
alter table 商品信息 alter column 售价 numeric(10,2)

go
create table 管理员信息(
管理员编号 smallint identity(100,1) primary key,--3位
管理员姓名 varchar(20),
管理员账号 varchar(20) not null,
管理员密码 varchar(50) not null,
联系电话 char(12)
);

go
--drop table 商店信息
create table 商店信息(
商店编号 smallint identity(20000,1) primary key,--5位
商店名称 varchar(50) not null,
商店地址 varchar(100) not null,
联系电话 char(12)
);

go
--drop table 店员信息
create table 店员信息(
店员编号 smallint identity(10000,1) primary key,--5位
店员账号 varchar(20) unique not null,
店员密码 varchar(50) not null,
商店编号 smallint not null,--工作地点,5位
店员姓名 varchar(20),
性别 char(2) check(性别 in ('男','女')) default('男'),
店员权限 char(1) check(店员权限 in (1,2)) default(2),--(1店长,2普通店员)
联系电话 char(12),
foreign key(商店编号) references 商店信息(商店编号)
    on delete cascade   --级连删除
    on update cascade,  --级连更新
);

go
create table 库存信息(
条形码 int,--8位
商品名称 varchar(50),
--类别编号 smallint not null,--5位
商店编号 smallint,--库存地点,5位
库存数量 int,
primary key(条形码,商店编号),
foreign key(条形码) references 商品信息(条形码)
   on delete cascade   --当删除商品信息表中的元组是,级连删除库存信息表中相应元组
   on update cascade,  --当更新商品信息表中的元组是,级连更新库存信息表中相应元组
foreign key(商店编号) references 商店信息(商店编号)
   on delete cascade
   on update cascade,
);
/*
foreign key(类别编号) references 商品分类信息(类别编号)
   on delete no action --当删除商品分类信息表中的元组造成了与库存信息表不一致时拒绝删除。
                       --即,若该类别的商品还有库存,则拒绝删除该商品分类
   on update cascade,
*/

go
create table 架存商品信息(
条形码 int,--8位
--类别编号 smallint not null,--5位
商店编号 smallint,--所在商店,5位
--店员编号 smallint not null,--上架人,5位
架存数量 int not null,
primary key(条形码,商店编号),
foreign key(条形码) references 商品信息(条形码)
      on delete cascade
      on update cascade,
foreign key(商店编号) references 商店信息(商店编号)
      on delete cascade
      on update cascade,
);

go
create table 销售记录(
条形码 int,--8位
商店编号 smallint,--5位
店员编号 smallint,--5位
销售数量 smallint not null,
--金额     money not null,--金额=销售数量*单价, 可使用触发器实现。
时间 datetime default(GetDate()),
primary key(商店编号,店员编号,条形码,时间),
foreign key(商店编号) references 商店信息(商店编号)
      on delete cascade
      on update cascade,
foreign key(店员编号) references 店员信息(店员编号)
      ON DELETE NO ACTION --当删除店员信息表中的元组造成了与销售记录表不一致时拒绝删除。              
      ON UPDATE NO ACTION,
foreign key(条形码) references 商品信息(条形码)
      on delete cascade
      on update cascade,
);
--drop table 销售记录
/*********************************************************************************************
 触发器,进行商品销售操作的时候,同时更新架存商品信息表中的相关信息
*********************************************************************************************/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create trigger insert_sales
on 销售记录 after insert
AS
BEGIN
       declare @newsq int,@newpq int,@oldpq int,@SalesQ int,@NewNo int,@ShopId int;
       set @NewNo=(select 条形码 from inserted); --获得新插入的条形码
       set @ShopId=(select 商店编号 from inserted); --获得新插入的商店编号
       set @SalesQ = (select 销售数量 from inserted); --获得新插入的数量  deleted

       --获得旧架存数量
       set @oldpq = (select 架存数量 from 架存商品信息 where 条形码 = @NewNo and 商店编号 =@ShopId);

       set @newpq=@oldpq-@SalesQ;--新架存商品数量=旧架存商品数量-销售商品的数量

       update 架存商品信息 set 架存数量 = @newpq where 条形码 = @NewNo and 商店编号 =@ShopId;

END
GO
/****************************************************************************************************/

go
create table 下架记录(
条形码 int ,--8位
商店编号 smallint,--5位
店员编号 smallint,--5位,操作者
数量 smallint not null,--不能超过当前架存数量
处理方式 char(1) default(1) not null,--0销毁,1返回仓库
时间 datetime default(GetDate()),
primary key(商店编号,店员编号,条形码,时间),
foreign key(商店编号) references 商店信息(商店编号)
      on delete cascade
      on update cascade,
foreign key(店员编号) references 店员信息(店员编号)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
foreign key(条形码) references 商品信息(条形码)
      on delete cascade
      on update cascade,
)
go
/********************************************************************
 进行商品下架操作的时候,同时更新库存信息表和架存商品信息表中的相关信息
*********************************************************************/
create trigger insert_reduce
on 下架记录 after insert
as begin
       declare @newsq int,@oldsq int,@newpq int,@oldpq int,@NewNo int,@ShopId int,@ReduceQuantiry int,@dispose char;
       set @NewNo=(select 条形码 from inserted); --获得新插入的条形码
       set @ShopId=(select 商店编号 from inserted); --获得新插入的商店编号
       set @ReduceQuantiry = (select 数量 from inserted); --获得新插入的数量
       set @dispose =(select 处理方式 from inserted); --获得下架商品的处理方式

    if @dispose = 1 --返回仓库
       begin
       select @oldsq = 库存数量 from 库存信息 where 条形码 = @NewNo;
       select @oldpq = 架存数量 from 架存商品信息 where 条形码 = @NewNo;
 
       set @newsq=@oldsq+@ReduceQuantiry;--新库存数量 = 旧库存数量 + 刚下架货物的数量
       set @newpq=@oldpq-@ReduceQuantiry;--新架存数量 = 旧架存商品数量 - 刚下架货物的数量
/***********************************************************************************************
       if(@newpq <= 0)/*如果用户输入的下架货物的数量大于架存商品的数量*/
          begin
             set @newpq=0;/* 将架存商品数量更新为0 ,即,将现有架存全部下架返回仓库*/
             /* set @temp2=abs(temp1);  /*abs() 求绝对值的函数*/ */
             set @newsq = @oldsq+@oldpq;/*新库存=旧库存+旧架存*/
             declare @NewEmpl int,@time datetime;
             set @NewEmpl =(select 店员编号 from inserted);
             set @time =(select 时间 from inserted);
             /*将实际的下架数量更新到下架记录中*/
             update 下架记录 set 数量 = @oldpq where 条形码 = @NewNo and 店员编号 = @NewEmpl and 时间 = @time;
          end;
       if(@newsq <= 0)
          begin
             set @newsq=0;
          end;
****************************************************************************************************/
    update 库存信息 set 库存数量 = @newsq where 条形码 = @NewNo and 商店编号 = @ShopId;
    update 架存商品信息 set 架存数量 = @newpq where 条形码 = @NewNo and 商店编号 = @ShopId;
    end;
  
    if @dispose = 0 --销毁
       begin
       select @oldpq = 架存数量 from 架存商品信息 where 条形码 = @NewNo;
       set @newpq=@oldpq-@ReduceQuantiry;--架存商品数量减去要销毁货物的数量
       if(@newpq <= 0)/*如果用户输入的下架数量多于现有架存数量,则全部下架销毁*/
          begin
           set @newpq=0;
          end;
       update 架存商品信息 set 架存数量 = @newpq where 条形码 = @NewNo and 商店编号 =@ShopId;
       end;
end;
go
/**********************************************************************************************************/

go
create table 上架记录(
条形码 int,--8位
商店编号 smallint,--5位
店员编号 smallint,--5位,操作者
数量 smallint not null,--不能超过这个商品的当前库存数量
时间 datetime default(GetDate()),
primary key(商店编号,店员编号,条形码,时间),
foreign key(商店编号) references 商店信息(商店编号)
      on delete cascade
      on update cascade,
foreign key(店员编号) references 店员信息(店员编号)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
foreign key(条形码) references 商品信息(条形码)
      on delete cascade
      on update cascade,
)
go
/********************************************************************
 进行上架操作的时候,同时更新库存信息表和架存商品信息表中的相关信息
*********************************************************************/
create trigger insert_add
on 上架记录 after insert
as begin
       declare @newsq int,@oldsq int,@newpq int,@oldpq int,@AddQuantiry int,@NewNo int,@ShopId int;
       set @NewNo=(select 条形码 from inserted); --获得新插入的条形码
       set @ShopId=(select 商店编号 from inserted); --获得新插入的商店编号
       set @AddQuantiry = (select 数量 from inserted); --获得新插入的数量  deleted

       set @oldsq = (select 库存数量 from 库存信息 where 条形码 = @NewNo and 商店编号 =@ShopId);
       set @oldpq = (select 架存数量 from 架存商品信息 where 条形码 = @NewNo and 商店编号 =@ShopId);

       set @newsq=@oldsq-@AddQuantiry;--从库存数量中减去上架货物的数量
       set @newpq=@oldpq+@AddQuantiry;--架存商品数量加上新上架货物的数量

       if(@newsq <= 0)/*如果用户输入的上架货物的数量大于库存商品的数量*/
          begin
           set @newsq=0;/* 将新库存数量更新为0,即,将现有库存全部上架 */
           set @newpq=@oldpq+@oldsq;/*新的架存数量=旧架存数量+旧库存数量*/
           declare @NewEmpl int ,@time datetime;
           set @NewEmpl =(select 店员编号 from inserted);
           set @time =(select 时间 from inserted);
           /*将实际的上架数量更新到上架记录中*/
           update 上架记录 set 数量 = @oldsq where 条形码 = @NewNo and 店员编号 = @NewEmpl and 时间 = @time;
          end
       update 库存信息 set 库存数量 = @newsq where 条形码 = @NewNo and 商店编号 =@ShopId;
       update 架存商品信息 set 架存数量 = @newpq where 条形码 = @NewNo and 商店编号 =@ShopId;
end;
go
/***********************************************************************************************************/

 


-----------------------------------------------------------------------------------------------------------------
go
insert into 商品分类信息 values('战争片');
go
insert into 商品分类信息 values('动作片');
go
insert into 商品分类信息 values('恐怖片');
go
insert into 商品分类信息 values('爱情片');
go
insert into 商品分类信息 values('喜剧片');
go
insert into 商品分类信息 values('科幻片');
go
insert into 商品分类信息 values('连续剧');
go
insert into 商品分类信息 values('综艺片');
go
insert into 商品分类信息 values('剧情片');
go
insert into 商品分类信息 values('动漫');
go
insert into 商品分类信息 values('纪录片');

---------------------------------------------------------------------------------------------------------------
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('喋血孤城','30000',45,60);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('野战排','30000',40,55);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('拯救大兵瑞恩','30000',50,65);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('进攻列宁格勒','30000',50,75);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('拆弹部队','30000',50,75);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('绝地抗战','30000',50,75);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('新少林寺','30001',57,70);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('青蜂侠','30001',42,56);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('危情时速','30001',47,59);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('电锯惊魂','30002',53,62);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('初恋这件小事','30003',51,62);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('愚人晚宴','30004',48,63);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('机械公敌','30005',52,76);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('国民英雄','30006',66,88);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('快乐大本营','30007',45,60);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('伤心潜水艇','30008',45,60);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('海贼王','30009',45,60);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('火影忍者','30009',45,60);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('第83届奥斯卡金像奖颁奖典礼','30010',45,60);
go
insert into 商品信息(商品名称,类别编号,进货价,售价) values('BBC:玛雅地下世界之谜','30010',45,60);

-------------------------------------------------------------------------------------------------------------------
go
insert into 商店信息(商店名称,商店地址,联系电话) values('一号店','朝阳路20号','05962300146');
go
insert into 商店信息(商店名称,商店地址,联系电话) values('二号店','向前路126号','05962210510');
go
insert into 商店信息(商店名称,商店地址,联系电话) values('三号店','政府路35号','05962286356');
go
insert into 商店信息(商店名称,商店地址,联系电话) values('四号店','中山路88号','05962305179');

-----------------------------------------------------------------------------------------------------------------------
go
insert into 管理员信息(管理员姓名,管理员账号,管理员密码,联系电话) values('饶日添','rrt','123','13774510319');
go
insert into 管理员信息(管理员姓名,管理员账号,管理员密码,联系电话) values('欧阳中','oyangzhong','123','13107653704');

------------------------------------------------------------------------------------------------------------------------
go
insert into 店员信息(店员账号,店员密码,商店编号,店员姓名,性别,店员权限,联系电话) values('zhangsan','123','20000','张三','男','1','05962305000');
go
insert into 店员信息(店员账号,店员密码,商店编号,店员姓名,性别,店员权限,联系电话) values('lisi','lisi123','20000','李四','女','2','05962305671');
go
insert into 店员信息(店员账号,店员密码,商店编号,店员姓名,性别,店员权限,联系电话) values('wangwu','123','20000','王五','男','2','05962305672');
go
insert into 店员信息(店员账号,店员密码,商店编号,店员姓名,性别,店员权限,联系电话) values('rrt','123','20000','rrt','男','2','05962305673');
go
insert into 店员信息(店员账号,店员密码,商店编号,店员姓名,性别,店员权限,联系电话) values('aaa','aaa','20000','aaa','女','2','05962305674');
go
insert into 店员信息(店员账号,店员密码,商店编号,店员姓名,性别,店员权限,联系电话) values('bbb','bbb','20001','bbb','女','1','05962305675');
go
insert into 店员信息(店员账号,店员密码,商店编号,店员姓名,性别,店员权限,联系电话) values('ccc','ccc','20001','ccc','男','2','05962305676');
go
insert into 店员信息(店员账号,店员密码,商店编号,店员姓名,性别,店员权限,联系电话) values('ddd','ddd','20001','ddd','女','2','05962305277');
go
insert into 店员信息(店员账号,店员密码,商店编号,店员姓名,性别,店员权限,联系电话) values('eee','eee','20002','eee','男','1','05962305378');
go
insert into 店员信息(店员账号,店员密码,商店编号,店员姓名,性别,店员权限,联系电话) values('fff','fff','20002','fff','男','2','05962315470');
go
insert into 店员信息(店员账号,店员密码,商店编号,店员姓名,性别,店员权限,联系电话) values('ggg','123','20003','ggg','女','1','05962325570');
go
insert into 店员信息(店员账号,店员密码,商店编号,店员姓名,性别,店员权限,联系电话) values('hhh','hhh123','20003','哈哈哈','男','2','05962335870');

----------------------------------------------------------------------------------------------------------------------------------------------------
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000000,'喋血孤城',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000001,'野战排',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000002,'拯救大兵瑞恩',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000003,'进攻列宁格勒',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000004,'拆弹部队',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000005,'绝地抗战',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000006,'新少林寺',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000007,'青蜂侠',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000008,'危情时速',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000009,'电锯惊魂',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000010,'初恋这件小事',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000011,'愚人晚宴',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000012,'机械公敌',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000013,'国民英雄',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000014,'快乐大本营',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000015,'伤心潜水艇',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000016,'海贼王',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000017,'火影忍者',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000018,'第83届奥斯卡金像奖颁奖典礼',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000019,'BBC:玛雅地下世界之谜',20000,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000000,'喋血孤城',20001,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000001,'野战排',20002,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000002,'拯救大兵瑞恩',20003,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000003,'进攻列宁格勒',20003,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000004,'拆弹部队',20001,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000005,'绝地抗战',20002,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000006,'新少林寺',20003,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000007,'青蜂侠',20001,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000008,'危情时速',20002,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000009,'电锯惊魂',20003,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000010,'初恋这件小事',20001,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000011,'愚人晚宴',20002,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000012,'机械公敌',20003,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000013,'国民英雄',20001,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000014,'快乐大本营',20002,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000015,'伤心潜水艇',20003,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000016,'海贼王',20001,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000017,'火影忍者',20002,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000018,'第83届奥斯卡金像奖颁奖典礼',20003,10);
go
insert into 库存信息 (条形码,商品名称,商店编号,库存数量)values(10000019,'BBC:玛雅地下世界之谜',20001,10);

--------------------------------------------------------------------------------------------------------------------------------------
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000000,20000,5);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000001,20000,6);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000002,20000,4);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000003,20000,6);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000004,20000,3);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000005,20000,9);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000006,20000,5);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000007,20000,1);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000008,20000,7);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000009,20000,5);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000010,20000,1);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000011,20000,5);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000012,20000,9);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000013,20000,8);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000014,20000,0);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000015,20000,7);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000016,20000,5);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000017,20000,6);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000018,20000,3);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000019,20000,9);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000000,20001,1);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000001,20002,5);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000002,20003,6);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000003,20003,5);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000004,20001,8);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000005,20002,5);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000006,20003,7);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000007,20001,10);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000008,20002,3);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000009,20003,5);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000010,20001,10);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000011,20002,6);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000012,20003,6);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000013,20001,7);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000014,20002,2);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000015,20003,0);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000016,20001,2);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000017,20002,4);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000018,20003,2);
go
insert into 架存商品信息 (条形码,商店编号,架存数量)values(10000019,20001,8);

------------------------------------------------------------------------------------------------------------
go
insert into 销售记录 (条形码,商店编号,店员编号,销售数量)values(10000019,20000,10002,1);
go
insert into 销售记录 (条形码,商店编号,店员编号,销售数量)values(10000011,20000,10002,4);
go
insert into 销售记录 (条形码,商店编号,店员编号,销售数量)values(10000009,20000,10001,1);
go
insert into 销售记录 (条形码,商店编号,店员编号,销售数量)values(10000001,20001,10006,2);
go
insert into 销售记录 (条形码,商店编号,店员编号,销售数量)values(10000012,20001,10007,1);
go
insert into 销售记录 (条形码,商店编号,店员编号,销售数量)values(10000018,20002,10009,3);
go
insert into 销售记录 (条形码,商店编号,店员编号,销售数量)values(10000002,20002,10009,1);
go
insert into 销售记录 (条形码,商店编号,店员编号,销售数量)values(10000003,20003,10010,1);
go
insert into 销售记录 (条形码,商店编号,店员编号,销售数量)values(10000004,20003,10011,2);
go

 

 

 

 

------------------------------------------------------------------------------------------------------------------

 

------------------------------------------------------------------------------------------------------------------

 

------------------------------------------------------------------------------------------------------------------

 

------------------------------------------------------------------------------------------------------------------

 

------------------------------------------------------------------------------------------------------------------

 

------------------------------------------------------------------------------------------------------------------

 

------------------------------------------------------------------------------------------------------------------

/*下面这句用于测试触发器*/
insert into 下架记录(条形码,商店编号,店员编号,数量,处理方式) values(10000007,20001,10005,101,1);
go
insert into 下架记录(条形码,商店编号,店员编号,数量,处理方式) values(10000006,20000,10005,200,1);
go
insert into 下架记录(条形码,商店编号,店员编号,数量,处理方式) values(10000006,20000,10000,10,1);
go
/*下面这句用于测试触发器*/
insert into 上架记录(条形码,商店编号,店员编号,数量) values('10000006','20000','10000',5);
go
------------------------------------------------------------------------------------------------------------------


--查看数据库中所有的触发器
select * from sysobjects where xtype='TR'
--sp_helptext 查看触发器内容
exec sp_helptext '触发器名称'
--在表上点右键->“所有任务”->“管理触发器”,选择所要查看的触发器存储过程

--删除触发器
/*
用查询分析器删除
在查询分析器中使用 drop trigger 触发器名称 来删除触发器。
也可以同时删除多个触发器:drop trigger 触发器名称,触发器名称...
注意:触发器名称是不加引号的。在删除触发器之前可以先看一下触发器是否存在:
if Exists(select name from sysobjects where name=触发器名称 and xtype='TR')

用企业管理器删除
在企业管理器中,在表上点右键->“所有任务”->“管理触发器”,选中所要删除的触发器,然后点击“删除”。
*/

delete from 商品信息 where 类别编号 in (select 类别编号 from 商品分类信息 where 类别 = '战争片')


-- 小数点后面保留2位小数
 alter table 表 alter column 字段 numeric(精度,2)
 alter table 商品信息 alter column 进货价 numeric(10,2)
 numeric(X,2) X随便写。比2大。个人感觉X最好大些

--drop database cdshop

/*
    primary key(CustomerId, CDId),
    foreign key(CustomerId) references CustomerInfor(CustomerId),
    foreign key(CDId) references CDInfor(CDId),


      设置自动编号
      通过"查询分析器"以SQL方式创建,打开查询分析器,在查询窗口中输入SQL语句
       create database test --创建test数据库
       create table test (
                 id int IDENTITY(1,1) not null,
                 test text) --其中的IDENTITY(自动编号的初始舒值,自动编号的增量)即设置自动编号.
      注意:
      (1)一个表只能有一列定义为自动编号属性,
      (2)在SQL server中能够进行自动编号的几种数据类型为: decimal、int、numeric、smallint、bigint 或 tinyint。
      (3)在创建了自动编号的表中用sql语句插入数据时,其insert中不要包括自动编号的列即如果要在上述test表中插入一行数据,
         其insert语句就应为:insert into test (test) values ('this is a test table') 或 insert into test values('this is a test table'),
         而不能使用insert into test (id,test) values ('','this is a test table') 或者 insert into test values ('','this is a test table').
         否则就会出现"当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'test' 中的标识列插入显式值。"的错误提示.
         如果你一定要在自动编号列中插入特定的行如要执行insert into test values (1,'this is not a test table') ,
         可以通过首先运行 set IDENTITY_insert test(即表名) on语句来实现.


    用GetDate()函数,如果需要转换,则用Convert,Cast,DatePart等函数。
    例如:
    Print   convert(varchar(2),datepart(dd,GetDate()))+convert(varchar(2),datepart(hh,GetDate()))
 */

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值