存储过程 创建
2007-03-23 11:12
232 查看
A. 创建使用参数的存储过程
下例创建一个在 pubs 数据库中很有用的存储过程。给出一个作者的姓和名,该存储过程将显示该作者的每本书的标题和出版商。
B. 创建使用参数默认值的存储过程
下例创建一个存储过程 pub_info2,该存储过程显示作为参数给出的出版商所出版的某本书的作者姓名。如果未提供出版商的名称,该存储过程将显示由 Algodata Infosystems 出版的书籍的作者。
[/code]
下例创建一个在 pubs 数据库中很有用的存储过程。给出一个作者的姓和名,该存储过程将显示该作者的每本书的标题和出版商。
CREATE PROC au_info @lastname varchar(40), @firstname varchar(20) AS SELECT au_lname, au_fname, title, pub_name FROM authors INNER JOIN titleauthor ON authors.au_id = titleauthor.au_id JOIN titles ON titleauthor.title_id = titles.title_id JOIN publishers ON titles.pub_id = publishers.pub_id WHERE au_fname = @firstname AND au_lname = @lastname GO
B. 创建使用参数默认值的存储过程
下例创建一个存储过程 pub_info2,该存储过程显示作为参数给出的出版商所出版的某本书的作者姓名。如果未提供出版商的名称,该存储过程将显示由 Algodata Infosystems 出版的书籍的作者。
CREATE PROC pub_info2 @pubname varchar(40) = 'Algodata Infosystems' AS SELECT au_lname, au_fname, pub_name FROM authors a INNER JOIN titleauthor ta ON a.au_id = ta.au_id JOIN titles t ON ta.title_id = t.title_id JOIN publishers p ON t.pub_id = p.pub_id WHERE @pubname = p.pub_name
C. 执行用显式值替代参数默认值的存储过程在下例中,存储过程 showind2 的 @table 参数默认值是 titles。CREATE PROC showind2 @table varchar(30) = 'titles' AS SELECT TABLE_NAME = sysobjects.name, INDEX_NAME = sysindexes.name, INDEX_ID = indid FROM sysindexes INNER JOIN sysobjects ON sysobjects.id = sysindexes.id WHERE sysobjects.name = @table
[code]d. 使用包含通配符的参数默认值创建存储过程如果存储过程将参数用于 LIKE 关键字,那么默认值可包括通配符(%、_、[] 和 [^])。例如,可将 showind 修改为当不提供参数时显示有关系统表的信息:CREATE PROC showind4 @table varchar(30) = 'sys%' AS SELECT TABLE_NAME = sysobjects.name, INDEX_NAME = sysindexes.name, INDEX_ID = indid FROM sysindexes INNER JOIN sysobjects ON sysobjects.id = sysindexes.id WHERE sysobjects.name LIKE @table
[/code]
相关文章推荐
- DB2 创建或修改存储过程
- 获取存储过程的创建时间,更新时间
- Python--MySql(主键的创建方式、存储引擎、存储过程、索引、pymsql)
- mysql创建存储过程
- 每个月创建下一个月的表(存储过程)
- 创建存储过程
- 数据库批量备份存储过程(判断盘符、路径,错误盘符返回,不存在的路径自动创建)[
- 创建存储过程
- 转:导出创建表脚本的存储过程
- 两个存储过程:一、使用存储过程动态创建数据表。二、插入新记录。
- 【C#、SQL】创建存储过程报错,消息102,级别15,状态1
- SQL创建的几种存储过程
- Oracle中如何导出存储过程、函数、包和触发器的定义语句?如何导出表的结构?如何导出索引的创建语句?
- Mysql创建存储过程时,出现ERROR 1064 (42000) delimiter
- SQLServer创建用户、数据库、表、约束、存储过程、视图
- 使用 Firebird 的isql 工具执行Sql脚本来创建存储过程
- MySQL使用存储过程创建100W条数据
- mssql:t-sql;创建表;给表添加约束;使用变量;事务,索引,视图;存储过程;触发器trigger
- 创建带输入参数的存储过程
- Mysql创建存储过程