触发器、存储过程、函数 基本操作(二)
2012-03-29 16:17
363 查看
二、存储过程
1. 创建
语法
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
AS sql_statement [ ...n ]
eg:
无参数
create proc sayHello
as
begin
print'Hello World!'
end
exec sayHello
有参数
create procedure sayHello1 @userName varchar(10)
as
begin
print'hello'+@userName+'!'
end
exec sayHello1' baby'
有输出
createproc sayHello2
@userName varchar(10),
@outVal varchar(10)OUTPUT
as
begin
print'hello '+@userName+@outVal+'!'
set@outVal='haha'
end
exec sayHello2 'aa','cc'
declare @rc int,@output varchar(10);
begin
set@output=' 123';
exec@rc=sayHello2 'A',@outputOUTPUT;
print@rc;
print'output = '+@output;
end
默认值
create proc sayHello3
@userName varchar(10),
@val1 varchar(20)='hihao',
@val2 varchar(20)='welcome!'
as
begin
print@userName+''+@val1+''+@val2+'!';
end
declare@rcint;
begin
exec @rc=sayHello3 'hll';
print @rc;
exec @rc=sayHello3 'hll2',' goodNight ';
print @rc;
exec @rc=sayHello3 'hll3',' goodNight ',' bye';
print @rc;
end
指定参数名调用
declare @rcint;
begin
exec @rc=sayHello3 'qq';
print @rc;
exec @rc=sayHello3 'qq2',@val1=' goodMorning ';
print @rc;
exec @rc=sayHello3 'qq3',@val1=' goodMorning ',@val2=' haha';
print @rc;
exec @rc=sayHello3 'qq3',@val2=' haha';
print@rc;
end
返回结果集
create proc resultSet
as
begin
select top(4)*from Teacher;
end
begin
declare @rc int;
exec @rc=resultSet;
print @rc;
end
2. 修改
alter proc sayHello
as
begin
print'Hello World2!'
end
exec sayHello
3. 删除
Drop proc proc_name
4. 查看
查看数据库已有存储过程
use jxcSoftware
go
select * from sysobjects where xtype='P'
查看单个存储过程
exec sp_helptext '存储过程名'
1. 创建
语法
CREATE PROC [ EDURE ] procedure_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
AS sql_statement [ ...n ]
eg:
无参数
create proc sayHello
as
begin
print'Hello World!'
end
exec sayHello
有参数
create procedure sayHello1 @userName varchar(10)
as
begin
print'hello'+@userName+'!'
end
exec sayHello1' baby'
有输出
createproc sayHello2
@userName varchar(10),
@outVal varchar(10)OUTPUT
as
begin
print'hello '+@userName+@outVal+'!'
set@outVal='haha'
end
exec sayHello2 'aa','cc'
declare @rc int,@output varchar(10);
begin
set@output=' 123';
exec@rc=sayHello2 'A',@outputOUTPUT;
print@rc;
print'output = '+@output;
end
默认值
create proc sayHello3
@userName varchar(10),
@val1 varchar(20)='hihao',
@val2 varchar(20)='welcome!'
as
begin
print@userName+''+@val1+''+@val2+'!';
end
declare@rcint;
begin
exec @rc=sayHello3 'hll';
print @rc;
exec @rc=sayHello3 'hll2',' goodNight ';
print @rc;
exec @rc=sayHello3 'hll3',' goodNight ',' bye';
print @rc;
end
指定参数名调用
declare @rcint;
begin
exec @rc=sayHello3 'qq';
print @rc;
exec @rc=sayHello3 'qq2',@val1=' goodMorning ';
print @rc;
exec @rc=sayHello3 'qq3',@val1=' goodMorning ',@val2=' haha';
print @rc;
exec @rc=sayHello3 'qq3',@val2=' haha';
print@rc;
end
返回结果集
create proc resultSet
as
begin
select top(4)*from Teacher;
end
begin
declare @rc int;
exec @rc=resultSet;
print @rc;
end
2. 修改
alter proc sayHello
as
begin
print'Hello World2!'
end
exec sayHello
3. 删除
Drop proc proc_name
4. 查看
查看数据库已有存储过程
use jxcSoftware
go
select * from sysobjects where xtype='P'
查看单个存储过程
exec sp_helptext '存储过程名'
相关文章推荐
- 触发器、存储过程、函数 基本操作(三)
- 视图_存储过程_触发器基本操作
- Oracle数据库操作大全(十三)——pl/sql编程(存储过程、函数、触发器)
- SQL2008--SQL语句-存储过程-触发器-事务处理-基本语法-函数
- Oracle中如何导出存储过程、函数、包和触发器的定义语句?如何导出表的结构?如何导出索引的创建语句?
- PL/SQL 数据库访问的相关技术(2)游标 、异常、存储过程、函数、包、触发器
- SQLSERVER存储过程、触发器、函数、游标等基本语法
- 查询SQLServer2005中某个数据库中的表结构、索引、视图、存储过程、触发器以及自定义函数
- MYSQL数据库重点:自定义函数、存储过程、触发器、事件、视图
- SQL基本操作之存储过程(删除)的使用
- Oracle基本操作五:简单查询与简单函数,组函数,分组
- Redis数据结构之sds基本操作函数
- [转载]用perl操作注册表的一些基本函数
- Linux下文件操作的基本函数及分析
- 函数,视图,存储过程,触发器,sysobjects (系统对象表),事务,异常
- Excel VBA入门基本操作之常用函数
- SQL 触发器 基本操作
- PHP操作Memcache基本函数
- R语言基本操作函数(1)变量的基本操作
- MySQL学习总结(四)数据的基本操作以及MySQL运算符和常用函数