首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

一些sql的小疑点

2013-01-02 
求助一些sql的小问题CREATE TABLE 超市交易报表 (交易时间 smalldatetime default( getdate()),交易号 cha

求助 一些sql的小问题
一些sql的小疑点

CREATE TABLE 超市交易报表
 (交易时间 smalldatetime default( getdate()),
  交易号 char (6),
  商品号 tinyint,
  商品单价 smallmoney,
  数量 smallint,
  PRIMARY KEY(交易时间,交易号,商品号)
)



CREATE TABLE 日报表
 (时间 smalldatetime default( getdate()),
  金额 smallint 
)

CREATE TABLE 月报表
 (时间 smalldatetime default( getdate()),
  金额 smallint 
)

CREATE TABLE 年报表
 (时间 smalldatetime default( getdate()),
  金额 smallint 
)



create trigger qwer_tri
  on 超市交易报表
 for insert,update,delete
 as
 begin
 insert into 日报表(时间,金额) select convert(varchar(10),交易时间,120),sum(商品单价*数量) from 超市交易报表 group by convert(varchar(10),交易时间,120)
 insert into 月报表(时间,金额) select convert(varchar(7),交易时间,120),sum(商品单价*数量) from 超市交易报表 group by convert(varchar(7),交易时间,120)
 insert into 年报表(时间,金额) select convert(varchar(4),交易时间,120),sum(商品单价*数量) from 超市交易报表 group by convert(varchar(4),交易时间,120)

 end 






INSERT INTO 超市交易报表 (交易号,商品号,商品单价,数量)
 values ('000001','2',$32,'3')
[解决办法]
CREATE TABLE 超市交易报表 
 (交易时间 smalldatetime default( getdate()),
  交易号 char (6),
  商品号 tinyint,
  商品单价 smallmoney,
  数量 smallint,
  PRIMARY KEY(交易时间,交易号,商品号)
)
go

CREATE TABLE 日报表 
 (时间 varchar(10),
  金额 smallint 
)

CREATE TABLE 月报表 
 (时间 varchar(7),
  金额 smallint 
)

CREATE TABLE 年报表 
 (时间 varchar(4),
  金额 smallint 
)
go


create trigger qwer_tri
  on 超市交易报表
 for insert,update,delete
 as
 begin
 insert into 日报表(时间,金额) select convert(varchar(10),交易时间,120),sum(商品单价*数量) from 超市交易报表 group by convert(varchar(10),交易时间,120)
 insert into 月报表(时间,金额) select convert(varchar(7),交易时间,120),sum(商品单价*数量) from 超市交易报表 group by convert(varchar(7),交易时间,120)
 insert into 年报表(时间,金额) select convert(varchar(4),交易时间,120),sum(商品单价*数量) from 超市交易报表 group by convert(varchar(4),交易时间,120)

 end 
go
insert into 超市交易报表
select convert(smalldatetime,getdate()),'asd',5,23.3,3
go
select * from 日报表
select * from 月报表
select * from 年报表
/*
时间         金额
---------- ------
2012-12-02 70

(1 行受影响)

时间      金额
------- ------
2012-12 70

(1 行受影响)

时间   金额
---- ------
2012 70

(1 行受影响)
*/

go
drop table 超市交易报表,日报表,月报表,年报表

热点排行
Bad Request.