sqlserver 存储过程Word文件下载.docx
- 文档编号:900783
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:14
- 大小:19.10KB
sqlserver 存储过程Word文件下载.docx
《sqlserver 存储过程Word文件下载.docx》由会员分享,可在线阅读,更多相关《sqlserver 存储过程Word文件下载.docx(14页珍藏版)》请在冰点文库上搜索。
过程的主内容区
Trascation:
这里起到的作用是,如果他中间的任何一个执行错误,就全部执行都返回,这里sql
sever
7.0以前一定要写入,以后的就可以省略
Return:
结束这支sp
Begin
trascation
1:
可以取得需要的值以存在内部参数中
SELECT
@strUNIT_CODE=UNIT_CODE
FROM
UNIT
WHERE
…….
2:
可以用取到的或传入的参数进行判断,来进行update,insert,delete
等等操作
eg:
IF
BEGIN
//具体的操作
End
Else
Begin
3:
有关游标的问题
declare
db
cursor
for
//声明一个光标(db为其名称)
UNIT_NAME
LEFT(UNIT_CODE,2)=LEFT(@strTO,2)//记录集
open
//打开游标
fetch
next
from
into
@strUNIT_NAME
//将第一个值放入一个参数中
while
@@fetch_status
=
0
---存在本笔值向下循环
(0:
顺利执行;
-1:
失败,或资料列超出结果集;
-2:
撷取的数据列已遗漏)
BEGIN
----开始循环
//个体操作
End
----结束循环
Close
---关闭游标
deallocate
//移除数据指针参考
Commit
Return
下面是一个例子
TEST_2
@strTO
VARCHAR(3)
AS
DECLARE
VARCHAR(800),
@strSQL
VARCHAR(8000),
@Link
VARCHAR
(1),
@Link1
VARCHAR
(1)
@strUNIT_NAME='
'
@strSQL='
@Link='
@Link1='
处理update
的部分
EXEC
TEST_2
011'
UNIT_CODE='
TRANSACTION
@strTO<
>
UPDATE
UNIT_NAME=REPLACE(UNIT_NAME,'
*'
'
)
UNIT_CODE=@strTO
END
ELSE
UNIT_NAME=UNIT_NAME+'
功能说明:
本sp用于处理cursor问题
--必需声明在查询的前面
LEFT(UNIT_CODE,2)=LEFT(@strTO,2)---取到相关信息
LEFT(UNIT_CODE,2)=LEFT('
2)---取到相关信息
---开起取到的信息
---把第一笔放入@strUNIT_NAME中
---表示存在本笔资料
set
=@strSQL+@Link1+@Link+
----设定保存的值
----进行下次循环
@Link=CHAR(13)
+CHAR(10)
END
close
---关闭信息
---移除数据指针参考
@strSQL
COMMIT
TRANSACTION
RETURN
如果循环insert的例子
DECLARE
@strLoginID
VARCHAR(16)
for
LoginID
dbo.s_Users
len(UnitCoding)
in(9,12)
db
@strLoginID
insert
s_P_User
select
@strLoginID,LevelID
s_P_User
where
aa'
一、TRUNCATE
二、SelectINTO建表
把一个表中的数据复制到另外一个表中。
三、InsertINTOSelect
四、补充:
临时表
临时表存储在系统数据库tempdb中
临时表会被系统隐式地丢弃
---------------------------------------------------------
五、存储过程(**)
一、简介:
存储过程(StoredProcedure),是一组为了完成特定功能的SQL语句,集经编译后
存储在数据库中,用户通过指定存储过程的名字并给出参数,如果该存储过程带有参数来执行
它,
在SQLServer的系列版本中,存储过程分为两类:
系统提供的存储过程和用户自定义存储过程
。
系统SP,主要存储master数据库中,并以sp_为前缀并且系统存储过程主要是从系统表中获取
信息,从而为系统管理员管理SQLServer。
用户自定义存储过程是由用户创建,并能完成
某一特定功能,如:
查询用户所需数据信息的存储过程。
存储过程具有以下优点
1.存储过程允许标准组件式编程(模块化设计)
存储过程在被创建以后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句,而
且数
据库专业人员可随时对存储过程进行修改,但对应用程序源代码毫无影响。
因为应用程序源代
码只包含存
储过程的调用语句,从而极大地提高了程序的可移植性。
2.存储过程能够实现快速的执行速度
如果某一操作包含大量的Transaction-SQL代码,,或分别被多次执行,那么存储过程要比批处理
的
执行速度快很多,因为存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进
行分析优
化,并给出最终被存在系统表中的执行计划,而批处理的Transaction-SQL语句在每次运行时
都要进行
编译和优化,因此速度相对要慢一些。
3.存储过程能够减少网络流量
对于同一个针对数据数据库对象的操作,如查询修改,如果这一操作所涉及到的Transaction-SQL
语句被组织成一存储过程,那么当在客户计算机上调用该存储过程时,网络中传送的只是该调
用语句,否
则将是多条SQL语句从而大大增加了网络流量降低网络负载。
4.存储过程可被作为一种安全机制来充分利用
系统管理员通过,对执行某一存储过程的权限进行限制,从而能够实现对相应的数据访问权限的
限
制。
二、变量
@I
三、流程控制语句(ifelse|selectcase|while)
Select...CASE实例
DECLARE@iRetINT,@PKDispVARCHAR(20)
SET@iRet='
1'
Select@iRet=
CASE
WHEN@PKDisp='
一'
THEN1
二'
THEN2
三'
THEN3
四'
THEN4
五'
THEN5
ELSE100
四、存储过程格式
创建存储过程
CreateProcdbo.存储过程名
存储过程参数
执行语句
执行存储过程
GO
*********************************************************/
--
变量的声明,sql里面声明变量时必须在变量前加@符号
@I
INT
变量的赋值,变量赋值时变量前必须加set
30
声明多个变量
@s
varchar(10),@a
Sql
里if语句
条件
ELSE
@d
1
1
打印
正确'
错误'
里的多条件选择语句.
@iRet
INT,
@PKDisp
VARCHAR(20)
Select
=
WHEN
THEN
2
3
4
5
100
循环语句
WHILE
@i
@i<
1000000
@i=@i+1
@i
TRUNCATE
删除表中的所有行,而不记录单个行删除操作,不能带条件
TABLE
在功能上与不带
Where
子句的
Delete
语句相同:
二者均删除表中的全部行
但
比
速度快,且使用的系统和事务日志资源少。
语句每次删除一行,并在事务日志中为所删除的每行记录一项。
通过
释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。
删除表中的所有行,但表结构及其列、约束、索引等保持不变。
新行标识所用
的计数值重置为该列的种子。
如果想保留标识计数值,请改用
Delete。
如果要删除表定义及其数据,请
使用
Drop
语句。
对于由
FOREIGN
KEY
约束引用的表,不能使用
TABLE,而应使用不带
子句的
由于
不记录在日志中,所以它不能激活触发器。
不能用于参与了索引视图的表。
示例
下例删除
authors
表中的所有数据。
authors
INTO
从一个查询的计算结果中创建一个新表。
数据并不返回给客户端,这一点和普通的
不同。
新表的字段具有和
的输出字段相关联(相同)的名字和数据类型。
*
NewTable
Uname
Insert
Select
表ABC必须存在
把表Uname里面的字段Username复制到表ABC
ABC
Username
创建临时表
Create
#temp(
UID
int
identity(1,
1)
PRIMARY
KEY,
UserName
varchar(16),
Pwd
varchar(50),
Age
smallint,
Sex
varchar(6)
)
打开临时表
#temp
存储过程
要创建存储过程的数据库
Use
Test
判断要创建的存储过程名是否存在
if
Exists(Select
name
From
sysobjects
name='
csp_AddInfo'
And
type='
P'
删除存储过程
Procedure
dbo.csp_AddInfo
Go
Proc
@UserName
@Pwd
@Age
@Sex
存储过程语句体
Uname
(UserName,Pwd,Age,Sex)
values
(@UserName,@Pwd,@Age,@Sex)
执行
csp_AddInfo
Junn.A'
123456'
20,'
男'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sqlserver 存储过程 存储 过程