存储过程和触发器的使用 |
您所在的位置:网站首页 › 调用存储过程pro1的语句是 › 存储过程和触发器的使用 |
本文主要介绍如何在数据库后台利用存储过程,触发器来管理数据库的技术,并以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 |