专注于网站技术与网络营销的博客

网页中有关表格的处理

表格复选、复选变色、以及行的间隔行
用Hotmail的时候注意下,就是这个效果

SQL Server 2000 (SP4)笔记整理(三):触发器

/*
建立虚拟测试环境,包含:表[卷烟库存表],表[卷烟销售表]。
请大家注意跟踪这两个表的数据,体会触发器到底执行了什么业务逻辑,对数据有什么影响。
为了能更清晰的表述触发器的作用,表结构存在数据冗余,且不符合第三范式,这里特此说明。
*/

USE Master
GO

IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'U' AND NAME = '卷烟库存表')
    DROP TABLE 卷烟库存表
GO
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'U' AND NAME = '卷烟销售表')
    DROP TABLE 卷烟销售表
GO

--业务规则:销售金额 = 销售数量 * 销售单价 业务规则。

CREATE TABLE 卷烟销售表
(
    卷烟品牌        VARCHAR(40) PRIMARY KEY NOT NULL,
    购货商          VARCHAR(40) NULL,
    销售数量        INT NULL,
    销售单价        MONEY NULL,
    销售金额        MONEY NULL
)
GO

--业务规则:库存金额 = 库存数量 * 库存单价 业务规则。

CREATE TABLE 卷烟库存表
(
    卷烟品牌        VARCHAR(40) PRIMARY KEY NOT NULL,
    库存数量        INT NULL,
    库存单价        MONEY NULL,
    库存金额        MONEY NULL
)
GO

--创建触发器,示例1

/*
创建触发器[T_INSERT_卷烟库存表],这个触发器较简单。
说明:      每当[卷烟库存表]发生 INSERT 动作,则引发该触发器。
触发器功能:    强制执行业务规则,保证插入的数据中,库存金额 = 库存数量 * 库存单价。
注意:      [INSERTED]、[DELETED]为系统表,不可创建、修改、删除,但可以调用。
重要:      这两个系统表的结构同插入数据的表的结构。
*/
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'TR' AND NAME = 'T_INSERT_卷烟库存表')
    DROP TRIGGER T_INSERT_卷烟库存表
GO

CREATE TRIGGER T_INSERT_卷烟库存表
ON 卷烟库存表
FOR INSERT
AS
--提交事务处理
BEGIN TRANSACTION
    --强制执行下列语句,保证业务规则
    UPDATE 卷烟库存表
    SET 库存金额 = 库存数量 * 库存单价
    WHERE 卷烟品牌 IN (SELECT 卷烟品牌 from INSERTED)
COMMIT TRANSACTION
GO

/* 
针对[卷烟库存表],插入测试数据:
注意,第一条数据(红塔山新势力)中的数据符合业务规则,
第二条数据(红塔山人为峰)中,[库存金额]空,不符合业务规则,
第三条数据(云南映像)中,[库存金额]不等于[库存数量]乘以[库存单价],不符合业务规则。
第四条数据库存数量为0。
请注意在插入数据后,检查[卷烟库存表]中的数据是否 库存金额 = 库存数量 * 库存单价。
*/

SQL Server 2000 (SP4)笔记整理(二):数据库表

USE Master
GO

--检查是否存在测试表,若存在,则删除之
IF EXISTS (SELECT NAME FROM SYSOBJECTS WHERE XTYPE = 'U' AND NAME = 'MyTestTable1')
    DROP TABLE MyTestTable1
GO

CREATE TABLE MyTestTable1
(
    编号        INT PRIMARY KEY NOT NULL IDENTITY(1,1),
    姓名        CHAR(8),
    别名        VARCHAR(8),
    性别        CHAR(2) DEFAULT ('男'),
    年龄        INT CHECK(年龄>0 AND 年龄<100),
)ON [PRIMARY]
GO

--插入数据:

/*
下面的语句将不能执行,因为 [编号] 列为系统自动自增列。

INSERT INTO MyTestTable1(编号,姓名,别名,性别,年龄)
    VALUES (1,'彭建军','彭建军','男',25)
GO

在当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'MyTestTable1' 中的标识列插入显式值。

*/

--正确的语句,方法一
INSERT INTO MyTestTable1(姓名,别名,性别,年龄)
    VALUES ('彭建军','彭建军','男',25)
GO
--方法二:
INSERT INTO MyTestTable1(姓名,别名,性别,年龄)
    SELECT '老转','老转','男',30 UNION ALL
    SELECT '钱妮','妮子','女',28
GO

--查询数据(注意编号的自增性)

SELECT * FROM MyTestTable1
GO

SQL Server 2000 (SP4)笔记整理(一):数据库


--数据库创建示例1

--首先必须在C盘下建立[DataBase]文件夹

USE Master
GO

--检查是否存在测试数据库,若存在,则删除之
IF EXISTS (SELECT NAME FROM SYSDATABASES WHERE NAME = 'MyDB')
    DROP DATABASE MyDB
GO

CREATE DATABASE MyDB
ON
--数据文件
(
    NAME = MyDB_dat,
    FILENAME = 'C:\DataBase\MyDB_dat.mdf',
    SIZE = 10,--默认值为 MB
    MAXSIZE = 50,
    FILEGROWTH = 5
)
--日志文件
LOG ON
(
    NAME = MyDB_log,
    FILENAME = 'C:\DataBase\MyDB_log.ldf',
    SIZE = 1MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 1MB
)
GO

--数据库创建示例2

USE Master
GO

IF EXISTS (SELECT NAME FROM SYSDATABASES WHERE NAME = 'MyDB')
    DROP DATABASE MyDB
GO

USE Master
GO

CREATE DATABASE MyDB
ON
--主数据文件
(
    NAME = MyDB_dat1,
    FILENAME = 'C:\DataBase\MyDB_dat1.mdf',
    SIZE = 10,--默认值为 MB
    MAXSIZE = 50,
    FILEGROWTH = 5
),
--次要数据文件
(
    NAME = MyDB_dat2,
    FILENAME = 'C:\DataBase\MyDB_dat2.ndf',
    SIZE = 10,--默认值为 MB
    MAXSIZE = 50,
    FILEGROWTH = 5
)
LOG ON
--主日志
(
    NAME = MyDB_log1,
    FILENAME = 'C:\DataBase\MyDB_log1.ldf',
    SIZE = 1MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 1MB
),
--次要日志
(
    NAME = MyDB_log2,
    FILENAME = 'C:\DataBase\MyDB_log2.ldf',
    SIZE = 1MB,
    MAXSIZE = 25MB,
    FILEGROWTH = 1MB
)
GO

--删除数据库(请谨慎使用!)

ASP判断文件地址是否有效

ASP判断文件地址是否有效

安装配置ASP.NET

IIS是Windows上的Internet信息服务器.简单地说,就是建立WWW网站的服务器软件.和Linux下的Apache类似.因为一般的用户的电脑都没有装有IIS,但是IIS也是我们开发ASP.NET必备的软件,虽然它不是开发工具,但是它也是我们必须的。

asp.net学习资源列表

学习.Net的好地方,去看看,也许对你的进步会很快。

ASP.NET与数据库相关技巧

ASP.Net中数据库操作的相关技巧。。。
分页:[«]1[2][3][»]

Powered By Z-Blog 1.8 Devo Build 80201

Copyright 2005 - 2008, 完美生活(专注于网站技术与网络营销的博客). Some Rights Reserved.