创建和执行存储过程

源地址:

http://cache.baiducontent.com/c?m=9d78d513d9d431a94f9d92697d60c015134381132ba1d4020fd2843e91732d43506793ac57240773d7d20c6116dc494beb8021023c1454c18cb8895dacca866f6fd6286e365ac45613a004b29b18789437902db8ee4fbbadf045cff994ce8c0a009644020ed5add70f515cd73cb0526ab2f8ce55430856e9b66e24e25d74229e2547bc5a&p=c6759a46d6c61abc0be2963d580e8b&newp=8e3ed559cc904ead0dbd9b7d0d1391231610db2151d4d6106b82c825d7331b001c3bbfb423231b01d2c07f6704af495feaf03170330327a3dda5c91d9fb4c57479dd&user=baidu&fm=sc&query=%B4%B4%BD%A8%D6%B4%D0%D0%B4%E6%B4%A2%B9%FD%B3%CC&qid=8339626200023baa&p1=1

  

创建存储过程

CREATE PROCEDURE procedure_name

[WITH ENCRYPTION]

[WITH RECOMRILE]

AS

sql_statement

注:

WITH ENCRYPTION: 对存储过程进行加密

WITH RECOMPILE: 对存储过程重新编译

在book数据库中创建一个名为p_book1的存储过程。该存储过程返回book1表中所有出版社为“中国长安”的记录

USE book

GO

CREATE PROCEDURE p_book1

AS

SELECT * FROM book1 WHERE 出版社= ’中国长安‘

执行存储过程

EXEC procedure_name

-------------------------------------------------------------------------------------------------------------

带参数的存储过程

想存储过程设定输入、输出参数的主要目的是通过参数向存储过程输入和输出信息来扩展存储存储过程的功能。通过设定参数,可以多次使用同一存储过程并按用户要求查找所需要的结果。

带输入参数的存储过程

CREATE PROCEDURE procedure_name

@parameter_name datatype=[default]

[WITH ENCRYPTION]

[WITH RECOMPILE]

AS

sql_statement

注:

@parameter_name 存储过程的参数名,必须以@为前缀

Datatype 参数的数据类型

Default 参数的默认值,如果执行存储过程时为提供该参数的变量值,则使用default值。

CREATE PROCEDURE p_book1p

@出版社 varchar(20)

AS

SELECT * FROM book1

WHERE 出版社= @ 出版社

使用参数名传递参数值

EXEC Procedure_name

[@parameter_name = value]

[,...n]

例 用参数名传递参数值的方法执行存储过程p_book1p,分别查询出版社为“中国长安”和“安徽人民”书的记录

EXEC p_book1p @出版社=‘中国长安‘

EXEC p_book1p @出版社=‘安徽人民‘

按位置传递参数值

执行存储过程的语句中,不通过参数传递参数值而直接给出参数的传递值。当存储过程含有多个输入参数时,传递值的顺序必须以存储过程中定义的输入顺序相一致。安位置传递参数时,也可以忽略空值和具有默认值的参数,但不能因此破坏输入参数的设定顺序。

EXEC parameter_name

[value1,value2,...]

带输出参数的存储过程

如果需要从存储过程中返回一个或多个值,可以通过在创建存储过程的语句中定义输出参数来是想,为了使用输出参数,需要在CREATE PROCEDURE 语句中指定OUTPUT关键字。

输出参数语法如下:

@parameter_name datatype = [default] OUTPUT

例:创建存储过程p_book1Num,要求能根据用户给定的出版社,统计出该出版社的出书数量,并将数量以输出变量的形式返回给用户。

CREATE PROCEDURE P_book1Num

@出版社 VARCHAR(20), @book1Num smallint output

AS

SET @book1Num =

(

SELECT COUNT(*) FROM book1

WHERE 出版社[email protected]出版社

)

PRINT @book1Num

执行存储过程p_book1Num

DECLARE @出版社 VARCHAR(20), @book1Num SMALLINT

SET @出版社=‘中国长安‘

EXEC p_book1Num @出版社,@book1Num

时间: 2024-08-07 16:47:56

创建和执行存储过程的相关文章

mysql创建定时执行存储过程任务

sql语法很多,是一门完整语言.这里仅仅实现一个功能,不做深入研究. 目标:定时更新表或者清空表. 案例:曾经做过定时清空位置信息表的任务.(然而,当时并未考虑服务器挂掉后的情况) 本次测试:每5s更新表字段+1 1.prepare 创建一个表: DROP TABLE IF EXISTS `test_sche`; CREATE TABLE `test_sche` ( `id` int(11) NOT NULL, `counts` int(11) DEFAULT NULL, PRIMARY KEY

navicat下创建和执行存储过程

ORACLE存储过程的创建和执行的简单示例和一些注意点

此示例的主要目的主要是为了了解在PL/SQL环境下怎么创建和执行存储过程. 存储过程所涉及的DataTable: 第一步:创建游标变量 游标是ORACLE系统在内存中开辟的一个工作区,主要用来存储SELECT的数据的.通俗的讲就是用来存储查询数据的一个临时的变量. 游标的创建: 1 CREATE OR REPLACE PACKAGE pkg_query AS TYPE cur_query IS REF CURSOR; 2 END pkg_query; 第二步:存储过程的创建 1 create o

SQLSERVER创建该存储过程时不会出错,但是执行存储过程时报错

创建该存储过程时,不会出错,但是执行存储过程时,会报出下面这样的错误 这是因为在存储过程创建时,它先做语法检查,如果通过了语法检查,它会尝试解析它包含的对象名,如果存在也会解析该对象引用的对象是否存在.如果引用的对象名不存在,解析会在存储过程首次执行时触发.即在首次执行存储过程时,查询处理器从 sys.sql_modules 目录视图中读取该存储过程的文本,并检查该过程所使用的对象名称是否存在.这一过程称为延迟名称解析,因为存储过程引用的表对象不需要在创建该存储过程时就存在,而只需在执行该存储过

ORACEL创建存储过程和根据Oracle定时任务机制执行存储过程

oracle定时执行存储过程 --创建一个存储过程,每天定时执行,将满足条件的设备插入到pinpai_Report表中. CREATE OR REPLACE procedure prc_job_report is begin INSERT into pinpai_Report SELECT s.type, s.remark, G .GROUPID, s."CATEGORY" CATEGORY, s.DEVTYPE devtype, s.VENDOR vendor, SUM (CASE

简单的如何创建sql server存储过程

学习sql server数据库,sql server存储过程的建立方法是一定要知道的,下面将教您如何建立sql server存储过程,希望对您有所帮助. 在对象资源管理器中,连接到某个数据库引擎实例,再展开该实例. 展开“数据库”.sql server存储过程所属的数据库以及“可编程性”. 右键单击“存储过程”,再单击“新建存储过程”. 在“查询”菜单上,单击“指定模板参数的值”. 在“指定模板参数的值”对话框中,“值”列包含参数的建议值.接受这些值或将其替换为新值,再单击“确定”. 在查询编辑

sqlserver2008链接服务器中执行存储过程配置过程

参考:http://www.cnblogs.com/ycsfwhh/archive/2010/12/15/1906507.html 1.双方启动MSDTC服务MSDTC(分布式交易协调器),协调跨多个数据库.消息队列.文件系统等资源管理器的事务.该服务的进程名为Msdtc.exe,该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server.该服务用于管理多个服务器 .位置:控制面板--管理工具--服务--Distributed Transa

JAVA使用JDBC技术操作SqlServer数据库执行存储过程

Java使用JDBC技术操作SqlServer数据库执行存储过程: 1.新建SQLSERVER数据库:java_conn_test 2.新建表:tb_User 3.分别新建三个存储过程: 1>带参数的新增用户存储过程: CREATE PROCEDURE [dbo].[p_Insert_User] @name nvarchar(50), @UserPwd nvarchar(50) AS BEGIN INSERT INTO tb_User VALUES(NEWID(),@name,@UserPwd)

定时执行存储过程

定时执行存储过程 基础 Oracle定时器 Oracle定时器:定时执行某个存储过程. 通过pl/SQL的图形化界面可以看到.定时器包括:调度和存储过程连接口 存储过程连接口 存储过程连接口,主要告诉定时器要执行哪一个存储过程.存储过程连接口就是存储过程执行的入口.从图形化界面可以看出"Action"就是要执行的存储过程.而"Arguments"就是调用该存储过程所需要的参数类型及存储过程所调用的必须参数. 存储过程 存储过程(Stored Procedure)是在