存储过程和触发器的使用

您所在的位置:网站首页 调用存储过程pro1的语句是 存储过程和触发器的使用

存储过程和触发器的使用

2024-05-20 17:22| 来源: 网络整理| 查看: 265

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

 

  一、SQL交互式数据库查询语言

 

  交互式数据库查询语言SQL中有关表操作基本的SQL语句有如下四种:(下面分别出给四种语句的语法形式及其说明)

 

  (1)查询表命令

 

SELECT[ALL|DISTINCT]select_list

[INTO[new_table_name]]

[FROM{table_name|view_name}

[WHERE clause]

[GROUP BY clause]

[HAVING clause]

[ORDER BY clause]

[COMPUTE clause]

 

  4)删除命令

 

DELETE[FROM]{table_name|view_name}

[WHERE clause]

 

  其中:

 

table_name|view_name指定源表名或源视图名

WHERE clause给出修改条件

 

  二、SQL Server中存储过程和触发器的使用

 

  存储过程是存储在服务器上的预先编译好的SQL 语句在使用时要考虑以下问题:

 

  1.存储过程在第一次编译时进行语法检查,编译好的存储过程保存在高速缓存中用于调用,这样执行的速度和效率较高。

 

  2.存储过程由应用程序激活,不由SQL Server自动执行。

 

  3.一个存储过程可以用于收集数据和修改数据,但是不能同时用于两者。

 

  存储过程的优点是:

 

  1.在执行重复任务时能提高效率;

 

  2.使前端的应用程序共享应用逻辑;

 

  3.可以永久创建,也可以临时创建;

 

  4.可以在SQL Server启动时自动执行。

 

  存储过程的创建语句语法为:

 

CREATE PROCedure[owner.]procedure_name[;number]

[(parameter1[,parameter2]...[parameter255])]

[{FOR REPLICATION}|{WITH RECOMPILE}

[{[WITH]|{,}ENCRYPTION]]

AS sql_statements

 

  其中:

 

  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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3