易截截图软件、单文件、免安装、纯绿色、仅160KB

SQLSERVER简单触发器

 INSERT触发器
    INSERT及UPDATE触发器经常用于检测触发器所监控表的列及其数据是否符合所定义的规则。它们可以在数据输入表之前,对其进行在定义引用完整性时无法完成的约束检验。
    下面以学生数据库student为例来介绍INSERT触发器的使用。该数据库包括三个表,分别是描述学生情况的“学生档案”表、描述学生成绩的“学生成绩”表student和。描述分组情况的“分组情况”表gro。
 
 
create table student (id numeric(1,0),name varchar(10),sex char(4),class varchar(10),gro numeric(1,0) )
create table gro (class varchar(10),gro numeric(1,0) ,num tinyint)
 
为上面的“学生档案” 表创建一个INSERT触发器instrg,其作用是每新增一名学生而需向“学生档案”表中插入新行时,在“分组情况”表中将其所在小组的人数自动增加1。
 
use mlh
Create Trigger instrg ON [dbo].[student]
FOR Insert
AS
declare @班级 varchar(50) ,@小组 varchar(50),@人数 tinyint
select @班级 = inserted.class,@小组 = inserted.gro from inserted
if exists(select num from gro where @班级 = gro.class and @小组= gro.gro)
begin --bg1
select @人数 = num from gro where @班级= gro.class and @小组 = gro.gro
set @人数 = @人数 + 1
update gro set num = @人数 where @班级 = gro.class and @小组 = gro.gro
end --bg1
 
else
begin --bg2
insert gro values(@班级,@小组,1)
end --bg2
 
UPDATE 触发器
Create Trigger stup On [dbo].[student]
FOR update
AS
Declare @班级 varchar(50) , @小组 numeric(1,0),@人数 tinyint
select @班级 = inserted.class ,@小组= inserted.gro from inserted
if exists(select * from gro where @班级  = gro.class and @小组 = gro.gro)
begin
   update gro set gro.num = gro.num + 1 where @班级  = gro.class and @小组 = gro.gro
end
else
begin
   insert into gro values(@班级,@小组,1)
end
select @班级 = deleted.class ,@小组= deleted.gro from deleted
select @人数 = gro.num from gro where  @班级  = gro.class and @小组 = gro.gro
if @人数 > 1
begin
&


相关文档:

SQL LIKE 通配符随笔 (SqlServer)

通配符 说明
_    与任意单字符匹配
 
%    与包含一个或多个字符的字符串匹配
 
[ ]  与特定范围(例如,[a-f])或特定集(例如,[abcdef])中的任意单字符匹配。
 
[^]  与特定范围(例如,[^a-f])或特定集(例如,[^abcdef])之外的任意单字符匹配。
......

SQLServer和Oracle的常用函数对比

  1.绝对值
  S:select abs(-1) value
  O:select abs(-1) value from dual
  2.取整(大)
  S:select ceiling(-1.001) value
  O:select ceil(-1.001) value from dual
  3.取整(小)
  S:select floor(-1.001) value
  O:select floor(-1.001) value from dual
  4.取整(截取)
   ......

Xp系统下sqlServer 2000中1433端口打不开的问题

 我装的是Xp系统,当我装Sql Server2000数据库后,用Java程序来进行数据库连接时出错了,发现是1433端口没有打开,在网上找了些解决办法,方法说的不是很清楚,还有点罗嗦了。我解决后发现办法是:首先是查看你的版本,可以用select @@version来查看。装完Sql Server 2000 1433端口有是没有打开,可以用net -an -p tcp ......

java数据库连接及测试(sqlserver)


package com.test.util;
import java.sql.*;
public class ConnectDB {
 private Connection conn=null;
 private PreparedStatement pt=null;
 private ResultSet rs=null;
 private String uname="sa";
 private String upwd="sa";
 private String url="jdbc:microsoft:sqlserv ......

CodeSmith,SqlServer,C#中的类型对照

SQLServer          CodeSmith                            C#
bigint                    Int64           ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号