--不带参数的存储过程
CREATE procedure proc_sql1
as
begin
declare @i int
set @i=0
while @i<26
begin
print char(ascii('a')+@i)+'的ASCII码是:'+cast(ascii('a')+@i as varchar(50))
set @i=@i+1
end
end execute proc_sql1 --数据查询不带参数的储存过程
create procedure proc_sql4
as
begin
select * from 职工 where 姓名 like '%张%'
select * from 仓库 where 仓库号 in(
select 仓库号 from 职工 where 姓名 like '%张%' )
end
go
execute proc_sql4 --带有输入参数的存储过程
create proc proc_sql5
@x1 int,
@x2 int,
@x3 int
as
begin
declare @max int
if @x1>@x2
set @max=@x1
else
set @max=@x2 if @x3>@max
set @max=@x3 print '3个数中最大的数是:'+cast(@max as varchar(50))
end execute proc_sql5 15,28,39 --带有输入参数的查询存储过程
create proc proc_sql7
@mingz int,
@maxgz int
as
select * from 职工 where 工资 between @mingz and @maxgz execute proc_sql7 1500,1800 --带输入和输出参数的存储过程
create proc proc_sql9
@changkuhao varchar(50),
@maxgz int output,
@avggz real output
as
begin
select * from 职工 where 仓库号=@changkuhao
select @maxgz=max(工资) from 职工 where 仓库号=@changkuhao
select @avggz=avg(工资) from 职工 where 仓库号=@changkuhao
end --显示指定仓库号的职工信息及该仓库号的最大工资和平均工资
declare @x1 int,@x2 real
execute proc_sql9 'wh1',@x1 output,@x2 output
select @x1 as wh1职工最大工资,@x2 as wh1职工平均工资 ---带登陆判断功能的存储过程
create proc proc_sql10
@hyuser varchar(50),
@hypwd varchar(50)
as
begin
declare @msg varchar(50)
if @hyuser='hystu1'
begin
if @hypwd='111'
set @msg='用户名与密码正确,成功登录!'
else
set @msg='密码不正确,请重新输入!'
end
else if @hyuser='hystu2'
begin
if @hypwd='222'
set @msg='用户名与密码正确,成功登录!'
else
set @msg='密码不正确,请重新输入!'
end
else if @hyuser='hystu3'
begin
if @hypwd='333'
set @msg='用户名与密码正确,成功登录!'
else
set @msg='密码不正确,请重新输入!'
end
else
set @msg='用户名不正确,请重新输入!'
print @msg
end execute proc_sql10 'hystu1','111' --带有判断条件的插入功能的存储过程
create proc proc_sql13
@zghao varchar(30),
@ckhao varchar(30),
@sname varchar(50),
@sex varchar(10),
@gz int
as
begin
if exists(select * from 职工 where 职工号=@zghao)
print '该职工已存在,请重新输入职工号!'
else
begin
if exists(select * from 仓库 where 仓库号=@ckhao)
begin
insert into 职工(职工号,仓库号,姓名,性别,工资) values(@zghao,@ckhao,@sname,@sex,@gz)
print '成功的插入一条记录'
end
else
print '输入的仓库号不合法,请重新输入仓库号!'
end
end
GO execute proc_sql13 'zg1','wh1','张平','女',1350 execute proc_sql13 'zg42','wh11','张平','女',1350 execute proc_sql13 'zg42','wh1','张平','女',1350

SqlServer和Oracle中一些常用的sql语句6 存储过程的更多相关文章

  1. SqlServer和Oracle中一些常用的sql语句9 SQL优化

    --SQL查询优化 尽量避免使用or,not,distinct运算符,简化连接条件 /*Or运算符*/ use db_business go select * from 仓库 where 城市='北京 ...

  2. SqlServer和Oracle中一些常用的sql语句5 流程控制语句

    --在sql语句中 begin...end 用来设定一个程序块 相关于c#中的{} declare @yz real,@w int --声明变量 set @w=120 --为变量赋值 if @w< ...

  3. SqlServer和Oracle中一些常用的sql语句10 特殊应用

    --482, ORACLE / SQL SERVER --订购数量超过平均值的书籍 WITH Orders_Book AS ( SELECT Book_Name, SUM(Qty) Book_Qty ...

  4. SqlServer和Oracle中一些常用的sql语句3 行列转换

    --217, SQL SERVER SELECT Cust_Name , MAX(CASE WHEN Order_Date ='2009-08-01' THEN AR END) "2009- ...

  5. SqlServer和Oracle中一些常用的sql语句7 游标

    declare db_cursor4 scroll cursor for select * from 供应商 --声明游标 open db_cursor4 --打开游标 fetch first fro ...

  6. SqlServer和Oracle中一些常用的sql语句8 触发器和事务

    --创建和执行事后触发器 --更新仓库备份表中记录时自动创建数据表且插入三条记录 create trigger db_trigger1 on 仓库备份 for update as begin if E ...

  7. SqlServer和Oracle中一些常用的sql语句4 局部/全局变量

    --把wh1仓库号中姓名含有"平"字的职工工资在原来的基础上加288 update 职工备份 set 工资=工资+288 where 仓库号='wh1' and 姓名 like ' ...

  8. SqlServer 获取字符串中小写字母的sql语句

    SQL字符串截取(SubString) 作用:返回第一个参数中从第二个参数指定的位置开始.第三个参数指定的长度的子字符串. 有时候我们会截取字符串中的一些特殊想要的东西,大小写字母.模号.汉字.数字等 ...

  9. SqlServer 查看备份文件中逻辑文件信息的Sql语句

    RESTORE FILELISTONLY FROM DISK = 'D:\All\DataBase\(2013-12-18)-1.bak' 用来查看备份文件中的逻辑文件信息. 相关信息:SqlServ ...

随机推荐

  1. 鼠标放上去图片慢慢变大js 或 变大

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 运用Python语言编写获取Linux基本系统信息(二):文件系统使用情况获取

    本文跟着上一篇文章继续写,上一篇文章的链接 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 一.随便说说 获取文件系统使用情况的思路和上一篇获取主要系统是 ...

  3. 条码知识之十:EAN-128条码(下)

    国际物品编码协会(EAN)和美国统一代码委员会(UCC)将CODE-128码引入EAN/UCC系统,并作如下规定:起始符由一个START A/B/C 加一个辅助字符FNC1构成,以区别普通的CODE- ...

  4. SSL证书与Https应用部署小结

    为了提高网站的安全性,一般会在比较敏感的部分页面采用https传输,比如注册.登录.控制台等.像Gmail.网银等全部采用https传输. https/ssl 主要起到两个作用:网站认证.内容加密传输 ...

  5. 设计模式总结5--命令模式 commend pattern

    命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象.就像我们去餐厅,点菜是找服务员,然后服务员去让厨师做菜而不是我们直接找厨师做菜 public interface Commend { ...

  6. asp.net判断用户是否登录

    最简单的代码: if(Session["LoginUser"] == null)  //注意:Session["LoginUser"]后面,没有ToString ...

  7. HDU 2227 Find the nondecreasing subsequences (线段树)

    Find the nondecreasing subsequences Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/3 ...

  8. cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(四)-马里奥平移

    上一篇博文提到,程序如何获取键盘输入,也就是D键按下,程序获取到前进指令,那么获取到前进指令之后,马里奥是如何前进的呢,这篇文章我们重点讨论这个问题. 马里奥的移动,依旧是在帧刷新函数中,这个调用过程 ...

  9. BZOJ 1665: [Usaco2006 Open]The Climbing Wall 攀岩

    题目 1665: [Usaco2006 Open]The Climbing Wall 攀岩 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 197  Sol ...

  10. java学习之IO对象流

    //注意对象类要打标记实现Serializable接口 package com.gh; import java.io.FileInputStream; import java.io.FileNotFo ...