Vb.net数据库编程(05):SQlserver的存储过程
来源:互联网 发布:淘宝售后维修能退款吗 编辑:程序博客网 时间:2024/05/22 14:17
SQlserver的存储过程
说白了,就是一个批处理过程。
就是一堆SQl语句连续执行,里面可能有一些变量、流程控制,显示等。
所以首先定义一个存储过程,它就有了一批处理名,然后再调用它,可以带一些参数。
- use Sales
- go
- create procedure demo_proc
- (@name char(16)='SQL Server',@major int=2005,@minor int=0)
- as
- print @name + STR(@major,5)+'.'+STR(@minor,5)
变量以@开始,@name char(16)='SQL Server'就是变量name,类型char,16字长,默认值SQL Server。
后面print就是显示 ,STR就是把数据字转换为字符串,总长度(含小数点)为5.
第二步就是执行它:
后面不跟参数时,就按照原参数样式(默认值)来执行。
后面的跟参数就按参数进行显示,其中default就是原来的默认值。没参数也是按原来 的默认值。
下面再创建一个存储过程,并执行
- --创建存储过程
- use Sales
- go
- create procedure GetStudentCount
- @v_math int
- as
- print '数学成绩高于输入参数的学生有:'
- select count(*) from grade where 数学>@v_math
- --下面是调用过程
- execute GetStudentCount 60
结果就是:
另一个存储过程例子
有时把用户名和密码保存在一个表中。
当用户进来后,进行验证。
看下这个存储过程:
- --先创建一个存在用户名和密码的表
- use Sales
- go
- create table WebUsers
- ( username varchar(20),
- userpass varchar(10)
- )
- insert into webusers values('aa','aa')
- insert into webusers values('bb','bb')
- --然后,创建带输入输出参数的存储过程
- create procedure sp_CheckPass
- (@CHKName varchar(30),@CHKPass varchar(30),@ISValid varchar(12) output)
- as
- if exists(select UserName from WebUsers where UserName=@CHKName And UserPass=@CHKPass)
- select @ISValid='Good'
- else
- select @ISValid='Bad'
- --测试存储过程
- declare @aa varchar(12)
- exec sp_CheckPass 'aa','aa',@aa output
- select @aa as '返回值'
注:上面output是作用输出的。
官方解释:返回受 INSERT、UPDATE、DELETE 或 MERGE 语句影响的各行中的信息,或返回基于受这些语句影响的各行的表达式。
这些结果可以返回到处理应用程序,以供在确认消息、存档以及其他类似的应用程序要求中使用。 也可以将这些结果
插入表或表变量。 另外,您可以捕获嵌入的 INSERT、UPDATE、DELETE 或 MERGE 语句中 OUTPUT 子句的结果,然后
将这些结果插入目标表或视图。
结果如下:
存储过程就这么回事,就一批处理过程。
只不过深究其中的语法有很多。
0 0
- Vb.net数据库编程(05):SQlserver的存储过程
- Vb.net数据库编程(05):SQlserver的存储过程
- VB & SQLServer 存储过程
- VB.net数据库编程(06):调用存储过程(带参和不参数情况)
- VB.net数据库编程(06):调用存储过程(带参和不参数情况)
- VB.net数据库编程(07):SQLserver中的通讯录
- VB.net数据库编程(07):SQLserver中的通讯录
- VB.net数据库编程(03):一个SQLserver连接查询的简单例子
- vb.net数据库编程(04):一个SQLserver修改记录的简单例子。
- VB.net数据库编程(03):一个SQLserver连接查询的简单例子
- vb.net数据库编程(04):一个SQLserver修改记录的简单例子。
- VB.Net程序设计:图片存储到SQLServer数据库里的界面代码。
- 发布NBearLite v1.0.0 beta - 全面支持SqlServer,Oracle,MySql,PostgreSql数据库存储过程调用代码生成(C#/VB.NET)
- 发布NBearLite v1.0.0 beta - 全面支持SqlServer,Oracle,MySql,PostgreSql数据库存储过程调用代码生成(C#/VB.NET)
- 数据库-存储过程-SQLServer
- vb.net中存储过程的使用
- sqlserver数据库异步处理的存储过程
- sqlserver存储过程 连接不同的数据库
- 让Lua和C++牵手
- Bitbucket使用方法
- 流复制报ORA-26687错误,警告日志报Streams APPLY A001 with pid=22, OS id=22929 stopped
- NSUserDefaults
- 摄像头录像以及回放工具
- Vb.net数据库编程(05):SQlserver的存储过程
- 解决JQUERY在IE下将字符串转成XML对象时产生的BUG
- C++类静态成员的初始化
- Hadoop示例程序WordCount编译运行
- vs2012 使用STLport-5.2.1
- 使用tolua++编译pkg,从而创建自定义类让Lua脚本使用
- 成功的SEOer基本上都有一下习惯”
- mysql修改root密码
- VB.net数据库编程(06):调用存储过程(带参和不参数情况)