SQL触发器实例1
定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。
常见的触发器有三种:分别应用于Insert , Update , Delete 事件。
我为什么要使用触发器?比如,这么两个表:
Create Table Student( --学生表
StudentID int primary key, --学号
....
)
Create Table BorrowRecord( --学生借书记录表
BorrowRecord int identity(1,1), --流水号
&nb ......
sql server 2005只备份数据库的结构
1、打开sql server enterpirise management studio,用sa帐户连接到数据库服务器。
2、选择需要备份的数据库,右击鼠标在弹出的菜单中选择“任务”——“生成脚本”,按照脚本向导,下一步就可以了。
这样会将此数据库中的所有对象的创建成生一个脚本文件,这样在需要恢复的sql server数据库服务器中只要执行这个脚本文件就可以创建这些对象。 ......
/*
建表:
dept:
deptno(primary key),dname,loc
emp:
empno(primary key),ename,job,mgr,sal,deptno
*/
1 列出emp表中各部门的部门号,最高工资,最低工资
select max(sal) as 最高工资,min(sal) as 最低工资,deptno from emp group by deptno;
2 列出emp表中各部门job为'CLERK'的员工的最低工资,最高工资
select max(sal) as 最高工资,min(sal) as 最低工资,deptno as 部门号 from emp where job = 'CLERK' group by deptno;
3 对于emp中最低工资小于1000的部门,列出job为'CLERK'的员工的部门号,最低工资,最高工资
select max(sal) as 最高工资,min(sal) as 最低工资,deptno as 部门号 from emp as b
where job='CLERK' and 1000>(select min(sal) from emp as a where a.deptno=b.deptno) group by b.deptno
4 根据部门号由高而低,工资有低而高列出每个员工的姓名,部门号,工资
select deptno as 部门号,ename as 姓名,sal as 工资 from emp order by deptno desc,sal asc
5 写出对上题的另一解决方法
(请补充)
6 列出'张三'所在部门中每个员工的姓名与部门号
select ename,deptno from emp where deptno = (select deptno from emp where e ......
在SQL Server中, 我们有时需要在清空数据表之后,重新添加记录时,标识列重新从1开始计数。
我们只需要在插入记录之前,执行下面的命令:
DBCC CHECKIDENT (表名, RESEED, 0)
如果是清空表中内容再重置标识列可以选择使用 Truncate Table 命令:
Truncate Table tablename
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同
TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。 ......
你知道XML文件吧?(不知道的GOOGLE去!)那你听说过在XML里书写SQL语句吗?换句话说,把你的项目里所有SQL语句存储在XML文件里,你听说过吗?你做过吗?
我头次听说是小艾告诉我的,我敢肯定他是个这方面的高手,呵呵(赞一个,到此为止!)
那给你展示一下,在XML里书写SQL语句吧
<commands>
<command id="Select_Max(ID)">
<desription>
调 用:Select_Max(ID)#Page_Load
概 要:查询Max(ID)
作 者:小艾教我的
作成日:2009/12/25
</desription>
<sql>
<![CDATA[
SELECT
MAX(InforID)
from
T_table
......
你知道XML文件吧?(不知道的GOOGLE去!)那你听说过在XML里书写SQL语句吗?换句话说,把你的项目里所有SQL语句存储在XML文件里,你听说过吗?你做过吗?
我头次听说是小艾告诉我的,我敢肯定他是个这方面的高手,呵呵(赞一个,到此为止!)
那给你展示一下,在XML里书写SQL语句吧
<commands>
<command id="Select_Max(ID)">
<desription>
调 用:Select_Max(ID)#Page_Load
概 要:查询Max(ID)
作 者:小艾教我的
作成日:2009/12/25
</desription>
<sql>
<![CDATA[
SELECT
MAX(InforID)
from
T_table
......
select * from sq_donglong.achi_news where ID in (select ID from (select top 6 ID from sq_donglong.achi_news where SortID=82)a union all select ID from (select top 6 ID from sq_donglong.achi_news where SortID=84)b)
......