可以定义一个无论何时用INSERT语句向表中插入数据时都会执行的触发器。
当触发INSERT触发器时,新的数据行就会被插入到触发器表和inserted表中。inserted表是一个逻辑表,它包含了已经插入的数据行的一个副本。inserted表包含了INSERT语句中已记录的插入动作。inserted表还允许引用由初始化INSERT语句而产生的日志数据。触发器通过检查inserted表来确定是否执行触发器动作或如何执行它。inserted表中的行总是触发器表中一行或多行的副本。
日志记录了所有修改数据的动作(INSERT、UPDATE和DELETE语句),但在事务日志中的信息是不可读的。然而,inserted表允许你引用由INSERT语句引起的日志变化,这样就可以将插入数据与发生的变化进行比较,来验证它们或采取进一步的动作。也可以直接引用插入的数据,而不必将它们存储到变量中。
示例
在本例中,将创建一个触发器。无论何时订购产品(无论何时向Order Details表中插入一条记录),这个触发器都将更新Products表中的一列(UnitsInStock)。用原来的值减去订购的数量值即为新值。
USE Northwind
CREATE TRIGGER OrdDet_Insert
ON [Order Details]
FOR INSERT
AS
UPDATE&n ......
/*----------------------------------------------------------------
-- Author :feixianxxx(poofly)
-- Date :2010-04-20 20:10:41
-- Version:
-- Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86)
Mar 29 2009 10:27:29
Copyright (c) 1988-2008 Microsoft Corporation
Enterprise Evaluation Edition on Windows NT 6.1 <X86> (Build 7600: )
-- CONTENT:SQL SERVER中一些特别地方的特别解法
----------------------------------------------------------------*/
--1.关于where筛选器中出现指定星期几的求解
--环境
create table test_1
(
id int,
value varchar(10),
t_time datetime
)
insert test_1
select 1,'a','2009-04-19' union
select 2,'b','2009-04-20' union
select& ......
例如问题:现在你面对一张表 table1 , table1中有个字段为sales_salary ,在数据库存放的字段为int 类型 。
要求,你统计的结果单位(万元),保留2位小数。并且会有这样的等式 (1行+2行=3行=7行+8行) 面对这样的问题,解决的方案有很多。比如,你可以通过视图的方案来解决,或控制输入域 ...
但有一种等效控制输入域的办法,那就是写sql语句。
这需要对 sql 语句很精通,懂的其中的内涵。
ex1:
select sales_date ,sum(round(sales_salary/10000,2))
from table1
group by sales_date ;
ex2:
select t.sales_date,sum(t.sales_salary) from (
select sales_date,round(sales_salary/10000,2) as sales_salary from table1
) t
group by t.sales_date;
ex1与ex2是殊途同归的一种效果,但是效率是不一样的。
所以sql语句的基本关键句型很简单 select ... from ... where .....group by ...having .....order by ....,但简单的东西很难掌握。
希望能对学习sql语言的朋友有所帮助。 ......
例 34 找出年龄超过平均年龄的学生姓名。
SELECT SNAME
from STUDENTS
WHERE AGE >
(SELECT AVG(AGE)
from STUDENTS)
例 35 找出各课程的平均成绩,按课程号分组,且只选择学生超过 3 人的课程的成绩。( GROUP BY 与 HAVING
GROUP BY 子句把一个表按某一指定列(或一些列)上的值相等的原则分组,然后再对每组数据进行规定的操作。
GROUP BY 子句总是跟在 WHERE 子句后面,当 WHERE 子句缺省时,它跟在 from 子句后面。
HAVING 子句常用于在计算出聚集之后对行的查询进行控制。)
SELECT CNO, AVG(GRADE), STUDENTS = COUNT(*)
from ENROLLS
GROUP BY CNO
HAVING COUNT(*) >= 3
......
http://www.521000.com/bbs/dispbbs.asp?BoardID=9&ID=1236357
PHP环境搭建
Apache的安装与配置
一、Apache的安装
1.从Apache的官方网站下载安装软件:http://httpd.apache.org/download.cgi,目前的最新版本是apache_2.2.11-win32-x86-no_ssl.msi。
2.打开我的电脑,进入D盘,在其下新建一个文件夹,名为 local。
3.运行下载好的“apache_2.2.11-win32-x86-no_ssl.msi”,按3次Next按钮,安装程序要求输入你的Network Domain(网络域名)、Server Domain(服务器域名)和网站管理员的E-mail,当系统出现故障时,会将故障信息发送到提供的电子邮件地址,三条信息均可任意填写,无效的也行。
4.进入Next后,默认的安装路径是"C:\Program Files\Apache Software Foundation\Apache2.2\",修改路径,改为前面所述的"D:\local\Apache2"。
5.然后一路Next下去,直到安装向导成功完成,这时右下角状态栏会出现Apache的绿色图标,表示Apache服务已经开始运行,按“Finish”结束Apache的软件安装。
6.打开IE,然后在地址栏输入:"http://localhost" 或者 "http://127.0.0.1" 可以看到Apache安装完成的成功页面;以后网页的存在位置就在 "D:\lo ......
DateTime timeStamp = new DateTime(1970, 1, 1); //得到1970年的时间戳 php中的时间是从1970.1.1开始
long a = (DateTime.Now.Ticks - timeStamp.Ticks) / 10000000; //已加上当前时区
//long a = (DateTime.UtcNow.Ticks - timeStamp.Ticks) / 10000000; //没有加当前时区 GMT时间 php系统中一般使用此种时间 ......