[SQL]触发器的使用
1. 创建触发器, 在mssql下的触发器的使用:Db->表->选择表名->所有任务(右键)->管理触发器
2. 当表被更新\插入\删除后,都可以通过定义触发器来响应该事件,从而进行相应的处理! 如一个学生转系了,其学号被更换了,他所借的图书对应的学号也相应需要改动,这个我们可以只通过update其学号,和学号相关联的表由触发器来更新!
3. example:
CREATE TRIGGER [user_update] ON [dbo].[Users]
FOR INSERT
AS
BEGIN
DECLARE curUserid CURSOR FOR SELECT [USERID] from [INSERTED]
OPEN curUserid
DECLARE @insertid integer
FETCH NEXT from curUserid INTO @insertid
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE Users SET UserName="ycli_in" where UserID = @insertid
FETCH NEXT from curUserid INTO @insertid
END
CLOSE curUserid
DEALLOCATE curUserid
END
注意将 $$ -> \\
相关文档:
今天在用JTDS连接SQL Server 时候,遇到几个问题,记录如下:
error while performing database login with the jtds driver:
network error ioexception:connection refused: connect
然后查看端口,原来是1433端口未打开,然后在SQL Server configuration Manager下的TCP\IP中启用1433端口,重启SQL Server服务,netst ......
Insert Into 数据表名称(字段名称1,字段名称2,...) values(字段值1,字段值2,...)
insert into user(username,password,age) values('李老四','6666',45)
Update 数据表名称 Set 字段名称=字段值,字段名称=字段值,...[Where 条件]
Delete from 数据表
下列查询返回在LONDON(伦敦)或SEATTLE(西雅图)的所有雇员:
S ......
--聚合函数
use pubs
go
select avg(distinct price) --算平均数
from titles
where type='business'
go
use pubs
go
select max(ytd_sales) --最大数
from titles
go
use pubs
go
select min(ytd_sales)& ......
SELECT DISTINCT '['+user_name(b.uid)+'].['+b.name+']' AS 对象名,b.type AS 类型
from sysdepends a,sysobjects b
WHERE b.id=a.depid
AND a.id=OBJECT_ID('过程名');
EXEC SP_DEPENDS '过程名'; ......