社区
MS-SQL Server
帖子详情
什么是存储过程 以及如何运用请举简单例子...
fansun
2003-09-14 03:24:21
什么是存储过程 以及如何运用请举简单例子...
...全文
63
6
打赏
收藏
什么是存储过程 以及如何运用请举简单例子...
什么是存储过程 以及如何运用请举简单例子...
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zjcxc
元老
2003-09-14
打赏
举报
回复
创建和维护数据库
执行存储过程
当需要执行存储过程时,请使用 Transact-SQL EXECUTE 语句。如果存储过程是批处理中的第一条语句,那么不使用 EXECUTE 关键字也可以执行该存储过程。
如果存储过程编写为可以接受参数值,那么可以提供参数值。
说明 如果使用 @parameter = value 的形式,那么可以按任何顺序提供参数。还可以省略那些已提供默认值的参数。如果以 @parameter = value 形式提供了一个参数,就必须按此种形式提供后面所有的参数。如果没有以 @parameter = value 形式提供参数,则必须按照 CREATE PROCEDURE 语句中给出的顺序提供参数。
执行存储过程时,服务器将拒绝所有未包含在过程创建期间的参数列表中的参数。如果参数名称不匹配,用地址传递(显式传递该参数名称)的任何参数都不会被接受。
虽然可以省略已提供默认值的参数,但只能截断参数列表。例如,如果一个存储过程有五个参数,可以省略第四个和第五个参数,但不能跳过第四个参数而仍然包含第五个参数,除非以 @parameter = value 形式提供参数。
如果在存储过程中定义了参数的默认值,那么下列情况下将使用默认值:
执行存储过程时未指定该参数的值。
将 DEFAULT 关键字指定为该参数的值。
若要执行与其它同名存储过程处于同一分组中的存储过程,请指定此存储过程在组内的标识号。例如,要执行 my_proc 组中的第二个存储过程,请执行:
EXECUTE my_proc;2
执行存储过程
Transact-SQL
请参见
批处理
扩展存储过程的执行特点
SQL 事件探查器方案
指定参数
调试扩展存储过程
SQL 存储过程
使用返回代码返回数据
重新编译存储过程
©1988-2000 Microsoft Corporation。保留所有权利。
zjcxc
元老
2003-09-14
打赏
举报
回复
创建和维护数据库
创建存储过程
可使用 Transact-SQL 语句 CREATE PROCEDURE 创建存储过程。创建存储过程前,请考虑下列事项:
不能将 CREATE PROCEDURE 语句与其它 SQL 语句组合到单个批处理中。
创建存储过程的权限默认属于数据库所有者,该所有者可将此权限授予其他用户。
存储过程是数据库对象,其名称必须遵守标识符规则。
只能在当前数据库中创建存储过程。
创建存储过程时,应指定:
所有输入参数和向调用过程或批处理返回的输出参数。
执行数据库操作(包括调用其它过程)的编程语句。
返回至调用过程或批处理以表明成功或失败(以及失败原因)的状态值。
系统存储过程
Microsoft® SQL Server™ 2000 中的许多管理活动是通过一种称为系统存储过程的特殊过程执行的。系统存储过程在 master 数据库中创建并存储,带有 sp_ 前缀。可从任何数据库中执行系统存储过程,而无需使用 master 数据库名称来完全限定该存储过程的名称。
强烈建议您不要创建以 sp_ 为前缀的存储过程。SQL Server 始终按照下列顺序查找以 sp_ 开头的存储过程:
在 master 数据库中查找存储过程。
根据所提供的任何限定符(数据库名称或所有者)查找该存储过程。
如果未指定所有者,则使用 dbo 作为所有者查找该存储过程。
因此,虽然当前数据库中可能存在带 sp_ 前缀的用户创建的存储过程,但总会先检查 master 数据库(即使该存储过程已用数据库名称限定)。
重要 如果用户创建的存储过程与系统存储过程同名,则永远不执行用户创建的存储过程。
分组
如果将一个不同的标识号赋予某过程,则可以用与现有某存储过程相同的名称创建该过程,这样可允许将这些过程进行逻辑分组。同名的分组过程可以同时删除。在同一应用程序中使用的过程一般都以该方式分组。例如,用于 my_app 应用程序的过程可能被命名为 my_proc;1、my_proc;2 等。删除 my_proc 即删除该整个组。将过程分组后,就无法删除该组内的单个过程。
临时存储过程
专用和全局临时存储过程与临时表类似,都可以用向该过程名称添加 # 和 ## 前缀的方法进行创建。# 表示本地临时存储过程,## 表示全局临时存储过程。SQL Server 关闭后,这些过程将不再存在。
临时存储过程在连接到 SQL Server 的早期版本时很有用,这些早期版本不支持再次使用 Transact-SQL 语句或批处理执行计划。连接到 SQL Server 2000 的应用程序应使用 sp_executesql 系统存储过程,而不使用临时存储过程。有关更多信息,请参见执行计划的高速缓存和重新使用。
只有创建本地临时过程的连接才能执行该过程,当该连接关闭(用户从 SQL Server 中注销)时,将自动删除该过程。
任何连接都可执行全局临时存储过程。只有创建该过程的用户所用的连接关闭,并且所有其它连接所用的该过程的当前执行版本运行完毕后,全局临时存储过程才不再存在。一旦用于创建该过程的连接关闭,将不再允许启动执行该全局临时存储过程。只允许那些已启动执行该存储过程的连接完成该过程的运行。
如果直接在 tempdb 数据库中创建没有 # 或 ## 前缀的存储过程,则由于每次启动 SQL Server 时 tempdb 都要重新创建,因此当关闭 SQL Server 时将自动删除该存储过程。直接在 tempdb 中创建的过程即使在创建该过程的连接终止后也会存在。与任何其它对象一样,可向其他用户授予、拒绝和废除执行该临时存储过程的权限。
创建存储过程
Transact-SQL
企业管理器
如何创建存储过程(企业管理器)
创建存储过程
展开服务器组,然后展开服务器。
展开"数据库"文件夹,再展开要在其中创建过程的数据库。
右击"存储过程",然后单击"新建存储过程"命令。
输入存储过程的文本。按 TAB 键可以缩进存储过程的文本。按下 CTRL+TAB 键或单击合适的按钮来退出文本框。
若要检查语法,单击"检查语法"命令。
若要设置权限,单击"权限"命令。
请参见
创建存储过程
SQL-DMO
也可以使用 SQL Server 企业管理器的创建存储过程向导来创建存储过程。
用创建存储过程向导创建存储过程
SQL-DMO
如何用创建存储过程向导创建存储过程(企业管理器)
用创建存储过程向导创建存储过程
展开一个服务器组,再展开要在其中创建视图的服务器。
在"工具"菜单上单击"向导"命令。
展开"数据库"文件夹。
双击"创建存储过程向导"命令。
完成向导中的步骤。
请参见
创建存储过程
请参见
向 SQL Server 添加扩展存储过程
设计存储过程
创建扩展存储过程
sp_executesql
重新编译存储过程
系统存储过程
©1988-2000 Microsoft Corporation。保留所有权利。
zjcxc
元老
2003-09-14
打赏
举报
回复
储过程
存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。
存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。
可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点:
可以在单个存储过程中执行一系列 SQL 语句。
可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。
存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。
nboys
2003-09-14
打赏
举报
回复
use master
go
create proc P_name
@name varchar(100)
as
select * from sysobjects where name=@name
go
--执行:
exec P_name 'sysfiles'
internetcsdn
2003-09-14
打赏
举报
回复
为什么不查下帮忙文件呢
上面有介绍的。
aierong
2003-09-14
打赏
举报
回复
创建存储过程,存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合。
可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。
也可以创建在 Microsoft® SQL Server™ 启动时自动运行的存储过程。
语法
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
AS sql_statement [ ...n ]
mysql创建
存储过程
例题_Mysql
存储过程
实例详解
存储过程
和函数是事先经过编译并存储在数据库中的一段SQL语句的集合,存储和和函数的区别在于函数必须有返回值,而
存储过程
没有,
存储过程
的参数可以使用IN、OUT、INOUT类型,而函数的参数只能是IN类型。
存储过程
再...
举出适合文件系统而不是数据库系统的应用
例子
,以及适用数据库系统的应用
例子
。
(1)适用于文件系统而不是数据库系统的应用
例子
: 数据的备份、软件或应用程序使用过程中的临时数据存储一般使用文件比较合适。早期的功能比较
简单
,比较固定的应用系统也适用文件系统。 (2)适用于数据系统而非文件...
进阶数据库系列(十一):PostgreSQL
存储过程
前面介绍了 PostgreSQL 数据类型和运算符、常用函数、锁操作、执行计划、视图与触发器相关的知识点,今天我将详细的为大家介绍 PostgreSQL
存储过程
相关知识,希望大家能够从中收获多多!如有帮助,请点在看、转发...
SQLserver创建参数化
存储过程
ql数据库的
存储过程
是一种在你关闭数据库时,储存你代码的一种方法,并且能实现以简短的指令来修改你的数据。, 那么就让我们看看这简短明了的参数化
存储过程
。 一.打开SQL数据库,找到你的数据库。 找到可编程性这...
【爬虫数据】存储至TXT、CSV、Excel.
本文举
例子
讲解如何将爬取到的数据存储到 TXT,Excel, CSV 文件中。其实这些方法大同小异,原理都差不多,只不过是分别
运用
了不同的库函数,使用的不同的方法而已。 TXT 存到 TXT 文件是最
简单
也是最好理解的,主要...
MS-SQL Server
34,575
社区成员
254,583
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章