如何利用存储过程和触发器来管理数据

http://tech.ddvip.com   2007年10月29日    社区交流

内容摘要:本文主要介绍如何在数据库后台利用存储过程,触发器来管理数据库的技术,并以Delphi做前台,SQL Server做后台的模式给出具体的实现代码。

  其中:

  proceddure_name〓〓为过程名称

  ;number〓〓用于在过程名称重复时进行编号

  [(parameter1[,parameter2]...[parameter255])]〓〓为参数序列

  WHTH RECOMPILE〓〓执行计划不保存的高速缓存中,每次执行过程需要重新编译

  ENCRYPTION〓〓加密syscomments表的内容,syscomments表中包含CREATE PROCedure的文本,保证无论何时都不删除syscomments表

  FOR REPLICATION〓〓过程在前台执行,不在服务器上执行

  下面的SQL语句在MYDATABASE数据库上创建存储过程my_store_pro1

  USE MYDATABASE

  以下须是一个独立的查询模块,因为CREATE PROCDURE语句须是查询模块的首行。

  CREATE PROCDURE my_store_pro1
  @my_paral char,
  @my_para2 int
  AS
  SELECT*FROM my_table1
  WHERE my_table1.no1=@my_para1
  AND my_table.1no2<=@my_para2
  GO
  执行存储过my_store_pro1
  EXEC my_store_pro1'12',23

  触发器是一种特殊的存储过程,无论何时要对它所保护的表进行修改时它就自动执行。触发器由SQL Server自动执行,不能由应用程序调用,便于保护数据库的完整性和完全性。其语法结构为:

  CREATE TRIGGER [owner.]trigger_name
  ON[owner.]table_name
  FOR {INSERT,UPDATE,DELETE}
  [WITH ENCR YPTION]
  AS
  IF UPDATE(column_name)
  [{AND|OR}UPDATE(column_name)...]sql_statements
  其中:
  trigger_name〓〓指定触发器的名称
  table_name〓〓指定触发器所在的表名
  INSERT,UPDATE,DELETE〓〓指定触发条件

责编:豆豆技术应用

正在加载评论...