声明变量,SQL规定变量在使用之前先声明,以便以后的程序中用到

格式:   declare 变量名 变量类型[,变量名 变量类型……]
一次可声明多个变量,它们之间用,分隔.用户变量以一个@开头,全局变量以@@开头.,因为时间关系我们在这里讲不到全局变量..下面我们声明几个变量.
Declare @score  int,@name  char(8)
给变量赋值;  格式:  SET 变量名=值
SET @SCORE=80
SET @NAME=’DUFEI’
或者是select 也可以给变量赋值:  select 变量名=值
显示变量;  格式: PRINT  变量名
declare  @score int,@NAME char(8)
set @score=80
set @name='dufei'
print cast(@score as char(8))+@name
常用的全局变量:
1.@@error 返回最后执行的T-SQL语句的错误代码,数据类型为整型。在SQL SERVER执行一个T-SQL语句之后,若成功,返回值为0,否则返回相应的错误代码。
也就是说如果你在一个程序想知道一个SQL语句是否有问题,是否被成功执行,可以通过@@ERROR来判断,是否为0即可!
2.@@CONNECTIONS
返回自上次启动 SQL Server以来连接或试图连接的次数。
语法
@@CONNECTIONS
返回类型
INT
注释
连接与用户不同。例如,应用程序可以打开多个与 SQL Server 的连接,而不需要用户监视这些连接。
若要显示一个包含几个 SQL Server 统计信息的报表,包括试图连接统计信息,请运行 sp_monitor。
例如,如果报告中 cpu_busy 显示为 4250(215)-68%,则自 SQL Server 上次启动以来,CPU 工作了 4250 秒;自上次运行 sp_monitor 以来,CPU 工作了 215 秒;自上次运行 sp_monitor 以来占总时间的 68%。
示例
下面的示例显示了到当前日期和时间为止试图登录的次数。
SELECT GETDATE() AS 'Today’s Date and Time',
@@CONNECTIONS AS 'Login’S'
下面是结果集:
Today's Date and Time              Login’s
---------------------------        ---------------
1998-04-09 14:28:46.940            18
3. @@CPU_BUSY
返回自上次启动 Microsoft® SQL Server™ 以来 CPU 的工作时间,单位为毫秒(基于系统计时器的分辨率)。
语法
@@CPU_BUSY
返回类型
integer
示例
下面的示例显示了到当前日期和时间为止 SQL Server CPU 的活动。
SELECT @@CPU_BUSY AS 'CPU ms', GETDATE() AS 'As of'
下面是结果集:
CPU ms               As of
-----------------    ---------------------------
20                   1998-04-18  14:43:08.180
4. @@DATEFIRST
返回 SET DATEFIRST 参数的当前值,SET DATEFIRST 参数指明所规定的每周第一天:1 对应星期一,2 对应星期二,依次类推,用 7 对应星期日。
语法
@@DATEFIRST
返回类型
tinyint
注释
美国英语中默认 7 对应星期日。
示例
下面的示例将每周第一天设为 5 (星期五),并假定当日是星期六。SELECT 语句返回 DATEFIRST 值和当日是此周的第几天。
SET DATEFIRST 5
SELECT @@DATEFIRST AS '1st Day', DATEPART(dw, GETDATE()) AS 'Today'
下面是结果集。从星期五算起,今天(星期六)是第二天。
1st Day           Today
----------------  --------------
5                 2
那如果改用中国时间,求今天是一周中的第几天
只需将  set datefirst 1  即可!  然后  datepart(dw,getdate()) as ‘今天是第几天’
5. @@SERVERNAME
返回运行 Microsoft® SQL Server™ 的本地服务器名称。
语法
@@SERVERNAME
返回类型
nvarchar
6. @@VERSION
返回 Microsoft® SQL Server™ 当前安装的日期、版本和处理器类型。
语法
@@VERSION
返回类型
nvarchar
注释
@@VERSION 返回的信息与 xp_msver 存储过程返回的产品名、版本、平台和文件数据相似,但 xp_msver 存储过程提供更详细的信息。
示例
下面的示例返回当前安装的日期、版本和处理器类型。
SELECT @@VERSION
注释:是程序代码中不执行的文本字符串(也称为注解),在SQL SERVER中可以使用两种类型的注释字符:一种是ANSI标准的注释符。“--”用于单行注解;另一种是”/*    */” 用于多行注解。
分支语句:
分别画出流程图
BEGIN
CASE表达式:
多分支语句:计算条件列表并返回多个可能结果表达式之一。
简单CASE语法:
CASE [变量或字段]
when 表达式1   THEN  结果表达式1
when 表达式2   THEN  结果表达式2
when 表达式3   THEN  结果表达式3
when 表达式i   THEN  结果表达式i
else  结果表达式
END
GOTO 语句
最早出现在BASIC语法中,跳转语句,它不属于基本程序结构.因为它会使用程序的可读性变差,如果在大型程序中,GOGO语句会使程序变的很复杂,使人不得头绪.所以在程序中尽量少用GOTO,或者是不用.
循环语句;
While 条件
Begin
语句体
End
存储过程的优点:
(1)       可以实现模块化编程:
(2) 执行效率更高
(3)存储过程能够减少网络流量
(4)可实现安全机制
在SQL SERVER中存储过程分为三大类:
系统存储过程:
扩展存储过程:XP_开头的。
用户自定义存储过程:
格式:
create proc procedure_name [;number] [@parameter data_type] [varying=default] [output]
as SQL语句
procedure_name是存储过程名
;number 是可选的整数,用来对同名的过程分组,以便用一条DROP PROCEDURE语句即可将同组的过程一同删除。例如:名为ORDERS的应用程序使用权的过程可以命名为order:1  order:2等 .drop procedure order 将删除整个组。
@parameter是过程中的参数。在CREATE PROC语句中可以声明一个或多个参数。用户必须在执行过程时提供每个所声明值(实际参数)
DATA_TYPE是参数的数据类型。
例:在数据库ITET中创建一个存储过程,用于查询某员工所负责项目的平均项目标的。
一个输入参数,一个输出参数,一个返回值。
Biaodi表
编号   项目                标的
1          网络工程       100000.0000
2          网站建设       10000.0000
3          系统集成       30000.0000
1          弱电系统       400000.0000
Create proc avgbiaodi @name varchar(10),@biaodi int output
As
Declare @errorsave int
Set @errorsave=0
Select @biaodi=avg(项目标的) from biaodi  as b  join yuangong as y on y.编号=b.编号   where y.姓名=@name
创建一组存储过程:
create proc gr;1
as select  * from yuangong
go
create proc gr;2
as select * from biaodi
go
create proc gr;3
as select * from a
go
execute gr;3
本文转自 dufei 51CTO博客,原文链接:http://blog.51cto.com/dufei/80757,如需转载请自行联系原作者

SQL Server 2005系列教学(9) SQL 存储过程相关推荐

  1. SQL Server 2005系列教学(2) SQL 服务及创建数据库

    SQL SERVER 2005的服务介绍: 核心服务 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office ...

  2. SQL Server 2005系列教学(1) SQL SERVER2005介绍及安装

    重点在于SQL Server 2005各个版本的安装及测试! 大纲如下: 信息与数据的区别 信息:是现实世界事物的存在方式或运动状态的反映. 数据:数据是信息的载体和具体表现形式,是信息的表现形式. ...

  3. SQL Server 2005系列教学(14) 用户管理

    用户管理: 哪些用户可以使用: 一种是WINDWOS 一种是SQL SERVER用户 身份验证方式:     windows验证:  安全,但不灵活     混合验证(WINDOWS SQL SERV ...

  4. SQL Server 2005系列教学_用户管理

    用户管理: 哪些用户可以使用: 一种是WINDWOS 一种是SQL SERVER用户 身份验证方式:     windows验证:  安全,但不灵活     混合验证(WINDOWS SQL SERV ...

  5. SQL Server 2005系列教学(6) 多表操作及子查询

    多表查询:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 人事 ...

  6. SQL Server 2005系列教学(11) 约束

    约束:此部分内容在此做一简短介绍,详细内容会放入到数据库实践课中介绍 如何在现有表上增加主键 alter table 表名 add constraint 主键名 primary key(字段) alt ...

  7. SQL Server 2005系列教学(11) 约束

    约束:此部分内容在此做一简短介绍,详细内容会放入到数据库实践课中介绍 如何在现有表上增加主键 alter table 表名 add constraint 主键名 primary key(字段) alt ...

  8. SQL Server 2005系列教学(13) 游标

    定义一个标准游标: declare mycursor cursor for select * from yuangong  定义一个只读游标: declare mycursor cursor for ...

  9. [学习SQL SERVER 2005系列]图解SQL SERVER2005的安装

    [学习SQL SERVER 2005系列]图解SQL SERVER2005的安装 前言: [学习SQL SERVER 2005系列]准备把学习2005的一些心得整理出来,和大家分享,共同学习一起提高. ...

最新文章

  1. GCC编译选项--创建与使用库
  2. R语言get函数、get0函数、mget函数获取数据对象实战
  3. jQuery autoComplete 样式
  4. 配置maven nenux仓库
  5. 【干货】网络中常用的9个命令,超级实用
  6. 【渝粤教育】国家开放大学2018年春季 0221-21T数字电子电路 参考试题
  7. 电机与拖动单相变压器实验,江南大学物联网工程学院,实验报告
  8. timespan怎么比较大小_钻石吊坠回收怎么选择大小?
  9. php 登录安全认证,介绍几种常用的web安全认证方式
  10. Eclipse StartExplorer插件
  11. Backbone学习日记第二集——Model
  12. 破产的圣文森特医院,如何利用大数据寻求解救方案?
  13. 把prn文件输出到网络打印机
  14. 计算机办公自动化试题及答案,计算机等级考试,办公自动化考试试题(三)
  15. 如何查看计算机硬盘规格大小,台式机硬盘如何查看大小
  16. latex 编译缺少STXingkai字体
  17. 伦敦城市级MaaS出行服务可行性研究
  18. matlab平行线的中线,cad怎么画两条平行线的中线
  19. 浪子回头,不是因你,而是他心已倦
  20. Vivado时序约束之—— set_max_delay、set_min_dealy(最大最小延迟约束)

热门文章

  1. 使用C#和Excel进行报表开发(5)
  2. python3 + selenium + (chrome and firefox)使用
  3. 曾经一手好牌,但如今却被网友怼或已堕落
  4. Flask安装首页显示
  5. C++ 採集音频流(PCM裸流)实现录音功能
  6. flex的enter_frame事件详解
  7. dedecms采集功能扩展
  8. Java之PriorityQueue有序队列
  9. Java 线程池的简单使用及介绍
  10. Golang中各种永远阻塞的方法