sql存储过程的创建
一:没有参数的存储过程
CREATE PROCEDURE select_all
AS
BEGIN
SELECT * from T_login1
END
GO
二:带参数的存储过程
CREATE PROCEDURE select_name @id uniqueidentifier
AS
BEGIN
SELECT * from T_login1 where PSN0001A=@id
END
GO
三:带通配符参数存储过程
alter proc proc_findStudentByName
@name nvarchar()='F%'
as
select * from T_login1 where PSN0001A like @name
go exec proc_findStudentByName 'F%'
四:带默认值的参数的存储过程
create proc sele_name
@name nvarchar()='hong3'
as
select * from T_login1 where PSN0002A=@name exec sele_name 'lk'
exec sele_name
五:带输出参数的存储过程
create proc [dbo].[p_selectName] @name nvarchar(),
@num int output
as
select @num=COUNT(PSN0001A) from T_login1 where PSN0002A=@name declare @num int
exec p_selectName 'lk',@num output
print @num declare @num1 int
exec p_selectName @name='lk',@num=@num1 output
print @num1
六:临时存储过程
create proc #p_selectName2
as
select COUNT(PSN0001A) from T_login1 where PSN0002A='lk' exec #p_selectName2
七:存储过程的嵌套
alter proc #p_selectName2
as
select COUNT(PSN0001A) from T_login1 where PSN0002A='lk'
exec sele_name exec #p_selectName2
八:不缓存的存储过程
if (object_id('proc_temp', 'P') is not null)
drop proc proc_temp1--如果存在不为空,释放掉
go
create proc proc_temp1
with recompile
as
select * from T_login1
go exec proc_temp1;
九:加密存储过程(无法查看存储过程的代码)
if (object_id('proc_temp_encryption', 'P') is not
null)
drop proc proc_temp_encryption
go
create proc proc_temp_encryption
with encryption
as
select * from T_login1;
go exec proc_temp_encryption;
exec sp_helptext 'proc_temp1';
exec sp_helptext 'proc_temp_encryption';
十:存储过程中使用if......else
CREATE PROCEDURE pro_numToName
@num int ,
@str nvarchar() output
AS
if @num=
begin
set @str='wang'
end
else
begin
set @str='qita'
end
sql存储过程的创建的更多相关文章
- PL SQL 存储过程 SQL SERVER创建存储过程及调用,Oracle创建存储过程及调用
Oracle使用存储过程实例: 例1: //查出表字段赋值给存储过程变量 create proc proc_stu @sname varchar(20), //默认是输入参数(input),另外还有两 ...
- PL/SQL存储过程编程
PL/SQL存储过程编程 /**author huangchaobiao *Email:huangchaobiao111@163.com */ PL/SQL存储过程编程(上) 1. Oracle应用编 ...
- SQL存储过程基础(从基础开始学,加油!)
Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...
- MYSQL中存储过程的创建,调用及语法
MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库 ...
- 转载 sql 存储过程与函数区别
SQL Server用户自定义函数和存储过程有类似的功能,都可以创建捆绑SQL语句,存储在server中供以后使用.这样能够极大地提高工作效率,通过以下的各种做法可以减少编程所需的时间: 重复使用编程 ...
- SQL 存储过程入门(事务)(四)
SQL 存储过程入门(事务)(四) 本篇我们来讲一下事务处理技术. 为什么要使用事务呢,事务有什么用呢,举个例子. 假设我们现在有个业务,当做成功某件事情的时候要向2张表中插入数据,A表,B表,我 ...
- SQL存储过程概念剖析
一.SQL存储过程的概念,优点及语法 定义:将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execut ...
- javax.transaction.xa.XAException: java.sql.SQLException: 无法创建 XA 控制连接。(SQL 2000,SQL2005,SQL2008)
javax.transaction.xa.XAException: java.sql.SQLException:无法创建 XA 控制连接.错误: 未能找到存储过程'master..xp_sqljdbc ...
- SQL 存储过程(学生,课程表,选修表)
SQL 存储过程(学生,课程表,选修表) 一.存储过程的分类 在SQL Server中存储过程分过两类: 1)系统存储过程("sp_"作为前缀) 2)用户自定义存储过程 二.创建和 ...
随机推荐
- TCP/IP协议族-----10、搬家IP
- JVM中java类的加载时机(转载:http://blog.csdn.net/chenleixing/article/details/47099725)
Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的加载机制.类从被加载到虚拟机内存中开始,到卸载出内 ...
- yii columns value and type and checkbox columns
value I am here type I am here checkbox columns useage
- 错误记录--关于foreach,集合已修改;可能无法执行枚举操作
集合已修改,可能无法执行枚举操作.今天在使用foreach遍历的时候出现了这样的错误.查了一下,这个是使用foreach的典型的错误问题问题.foreach在遍历取数据的过程中,枚举器只允许读,不允许 ...
- Web开发 < base target>
target就是点击链接后跳转到的目标页.通俗点说,就是你当前页面上的链接<a>,也包括<img>.<link>.<form>,除非你指定了target ...
- Sublime Text插件之Emmet
转载:http://www.w3cplus.com/tools/using-emmet-speed-front-end-web-development.html Emmet插件以前被称作为Zen Co ...
- Linux下解决高并发socket最大连接数所受的各种限制(解除IO限制)
linux作为服务器系统,当运行高并发TCP程序时,通常会出现连接建立到一定个数后不能再建立连接的情况 本人在工作时,测试高并发tcp程序(GPS服务器端程序),多次测试,发现每次连接建立到3800左 ...
- SVN的使用(转发)
http://my.oschina.net/joanfen/blog/194491?fromerr=LM5QY3YF
- MySQL 删除数据库
MySQL 删除数据库 使用 mysqladmin 删除数据库 使用普通用户登陆mysql服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库. 所以我们这边使用root用户登录,root用 ...
- PHP PDO 简单登陆操作
用PHP做出一个简单的登陆操作,确实很简单,下面就让我给大家简单的介绍一下PDO做出一个登陆界面操作的过程,因为也是初学乍练,不足之处请大家包涵. 首先,首先还要建一个表,在MySQL中建表,核心代码 ...