`
wyp0523
  • 浏览: 23699 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sql server 的存储过程 笔记

阅读更多
引用

我是初学者对于数据库的理解不是很深刻,有什么错的地方麻烦请指正,大家共同进步


;1 标识存储过程的编号如果有很多个存储过程都设为编号一则他们为一个组,如果删除的话则全部删除
@param1 定义存储过程传入的参数
output 表示此参数是返回结果的参数
@@rowcount 是返回查询结果的记录集个数
ltrim 是去掉字符串后边的空格
rtrim 是去掉字符串前边的空格
decalr 是定义全局变量
with encryption 是对存储过程加密,是不可逆的操作(慎用)
select 与set 都可以对变量进行复制但是他们的区别很大,推荐使用set赋值
begin tran t 开启事务
commint tran t 提交事务
print 打印你所要的信息 sql server 的话应该在查询分析器中运行其他的还不知道
SubString 对字符串截取 

1.参数例子:
CREATE PROCEDURE memo_Parameter 

@param1 int , //int 类型不用设置列宽 输入参数
@param2 varchar(50), //字符串需要设列宽 输入参数
@param3 varchar(50) output // 输出参数

 AS

2.函数@@RowCount例子
CREATE PROCEDURE memo_RowCount

@param1 int ,
@param2 varchar(50),
@param3 varchar(50) output

 AS

 select count(*) from selfsignedhotel

 select  @@ROWCOUNT

GO

3.ltrim 和 rtrim例子
CREATE PROCEDURE memo_Trim
@param1 varchar(50)
 AS
	declare @strOne varchar(50)
	declare @strTwo varchar(50)
	declare @strThree varchar(50)
	
	set @strOne = "去前空格"
	set @strTwo = "去后空格"
	set @strThree = ""
	
	set @strThree = ltrim(@param1)
	print  @strThree print @strOne

	set @strThree = rtrim(@param1)
	print  @strThree print @strTwo
GO

4.事务处理例子
4.1 存储过程中有insert、update、delete三个语句:
如果存储过程不加事务,就只是出错的SQL语句不执行,其它两条都执行;
CREATE PROCEDURE memo_tran  

@param1 varchar(50),
@param2 varchar(50)

AS
	begin tran t

	insert into hotel(name,password) values(@param1,@param2)

	if @@ERROR <> 0
	begin 
		print "出错了"
		rollback tran t
	end 
	else
		print "成功"		
		commit tran  t
GO

5.select 与 set 之间的区别
                     set select 
同时对多个变量同时赋值 |不支持           |支持 
表达式返回多个值时     |  出错           |将返回的最后一个值赋给变量 
表达式未返回值         | 变量被赋null值 |变量保持原值 

6.SubString 的使用
CREATE PROCEDURE memo_SubString 

@PARAM1 VARCHAR(50)

AS

SELECT SUBSTRING(@PARAM1 ,2,5) --@param1是需要截取的字符串  2 是字符串第二个字符 5 是表示包括二在内之后的5个字符
PRINT @PARAM1

GO

7.存储过程中临时表的简单应用
CREATE PROCEDURE memo_TemporaryTable 

---输入参数
@param1 varchar(50),
@param2 varchar(50),
@param3 varchar(50),
@param4 varchar(50),
--输出参数
@param5 varchar(100)

AS
	--开启事务
	begin tran t 

	--设定变量
	declare @sql varchar(800)
	declare @Totalcount int
	declare @Rownum int

	---------------------------------------动态组合sql语句---------
		select @sql = "where 1=1  "
		if ltrim(@param1) <> ""
		select @sql = @sql + " and name  like '%" + @param1+ "%'"
		if ltrim(@param2)<>""
		select @sql = @sql + " and rank = '"+@param2+"'"
		if ltrim(@param3)<>""
		select @sql = @sql + " and citycode ='"+@param3 + "'"
		if ltrim(@param4)<>""
		select @sql = @sql + " and cid = '"+@param4+"'"
	---------------------------------------动态组合sql语句---------
	
	select id into #ls  from selfsignedhotel where 1=0 --创建临时表
	
	SET IDENTITY_INSERT #ls ON -- 如果为on 则表示可以显性的向表中添加数据如果为OFF则不能现性的向表中添加数据

	exec("insert  into #ls(id)  select id from  selfsignedhotel " + @sql) --通过查询表selfsignedhotel取得数据 把得到的ID添加到临时表中

	select * from #ls -- 查询所有临时表中的记录

	set @Totalcount =  @@ROWCOUNT -- 取得临时表中一共有多少条记录

	print @Totalcount --打印
	print @@ERROR --打印

	if @@ERROR <> 0
	rollback tran t
	else
	commit tran t
GO

分享到:
评论

相关推荐

    SQL SERVER 存储过程学习笔记

    这篇学习笔记将深入探讨SQL Server存储过程的基本概念、创建、执行以及其在数据库开发中的应用。 一、存储过程的基本概念 存储过程是数据库中的一个对象,由一系列的SQL语句、控制流语句(如IF-ELSE,WHILE)和变量...

    SQL SERVER 存储过程学习笔记(摘自网络)

    SQL Server 存储过程是数据库管理中的一个重要概念,它是一组预先定义并编译好的T-SQL语句,可以通过指定的名称进行调用执行。存储过程的使用极大地提高了数据库操作的效率和安全性,同时降低了开发人员的工作负担。...

    sqlserver存储过程

    sqlserver存储过程学习笔记,该文档详述存储过程的使用及和存储过程相关的一些SQLSERVER系统存储过程的用法及功能

    SQLServer存储过程学习笔记分析PPT教案.pptx

    SQLServer存储过程学习笔记分析PPT教案.pptx

    SQL Server精华 (CHM)_sqlserver_SQLServer笔记_

    《SQL Server精华 (CHM)_sqlserver_SQLServer笔记_》是一部综合性的SQL Server学习资源,旨在帮助用户深入理解和掌握Microsoft SQL Server数据库管理系统的核心概念、功能和最佳实践。这部笔记涵盖了一系列关键知识...

    SQLServer2005数据库学习笔记

    笔记是本人学习SQLServer一段时间后重新整理出来的,适合有一些入门基础的人学习。 ├─01 安装及使用 │ SQLServer2005安装及使用.txt │ ├─02 常用函数 │ function.sql │ ├─03 建表、建库 │ create.sql ...

    Oracle SQLServer数据库 学习笔记

    Oracle和SQL Server是两大主流的关系型数据库管理系统,广泛应用于企业级的数据存储和处理。这篇学习笔记将深入探讨这两个系统的概念、特性和应用。 一、Oracle数据库系统 Oracle数据库是由甲骨文公司开发的一款...

    sqlserver个人学习笔记

    以上知识点涵盖了SQLServer中的多个核心概念和高级技术,包括日期处理、数据连接、数据更新、数据插入、函数使用、表结构转换以及存储过程的创建和使用,对于深入学习SQLServer数据库管理和开发具有重要指导意义。

    sqlserver数据库操作笔记

    ### SQL Server 数据库操作知识点详解 #### 一、SQL Server 的安装与配置 **1. 安装步骤:** - **准备阶段:** 首先确保安装环境中满足SQL Server的最低硬件要求,并且操作系统兼容。 - **安装介质:** 获取SQL ...

    sqlserver 存储过程自学笔记

    本文档适合刚接触sql存储过程并且没有入门的人自学使用

    郝斌Sqlserver2005学习笔记

    【郝斌Sqlserver2005学习笔记】涵盖了SQL Server 2005数据库系统的基础知识,特别是关于数据查询和关系数据库设计的部分。这个笔记基于郝斌老师的教学视频,旨在帮助学习者理解并掌握SQL Server 2005的核心概念。 ...

    sql存储过程初学者个人笔记

    ### SQL存储过程初学者知识点详解 #### 一、存储过程简介 存储过程是数据库中一组预编译的SQL语句集合,它具有多种优势:提高性能(预编译)、简化复杂操作、增强代码复用性及安全性。对于SQL初学者来说,掌握存储...

    sql server 2008笔记

    - 页是SQL Server的基本存储单位,每个页大小为8KB,扩展由连续8个页组成,分为单一扩展(同一表)和混合扩展(不同表),SQL Server会自动选择合适的模式。 5. **文件组和性能问题**: - 文件组是数据库逻辑结构...

    SQL Server 学习笔记

    在本文中,我们将深入探讨SQL Server的学习笔记,涵盖其体系结构、数据库类型特点、OLTP与OLAP的区别,以及一些关键的管理工具。 首先,让我们了解Microsoft SQL Server 2008系统的体系结构。这个系统由四个主要...

    SQLServer 2012性能学习笔记

    ### SQL Server 2012 性能学习笔记 #### SQL Server 2012 新特性及简介 SQL Server 2012 是微软推出的一个重要版本,它引入了许多新特性和改进,旨在提高数据库系统的可用性、安全性、可管理性以及性能。以下是几...

    SQL Server 2008 学习笔记

    学习SQL Server 2008还包括对备份恢复、事务处理、视图、存储过程、触发器等高级特性的理解和实践。备份恢复是保证数据安全的重要手段,而事务处理则保证了数据操作的原子性和一致性。视图是虚拟的表,方便数据的...

    sql server语法笔记整理

    本笔记主要针对SQL Server的语法进行整理,旨在帮助初学者快速掌握基础概念和常用操作。 一、SQL简介 SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言。在SQL Server中,你可以创建、更新、...

    chx 学习jForum笔记十八 jForum与ms sqlserver

    《jForum与MS SQLServer整合学习笔记》 jForum是一款基于Java的开源论坛系统,它以其高度可定制性、灵活性和强大的功能深受开发者喜爱。在本文中,我们将深入探讨如何将jForum与Microsoft SQL Server(简称MS SQL...

    sqlserver优化笔记

    ### SQL Server 优化知识点 #### 一、SQL性能优化技巧 **1.1 查询的模糊匹配** - **问题描述**:使用 `LIKE '%parm1%'` 的查询方式会导致索引失效,降低查询效率。 - **解决方案**: - **前端改进**:改变用户...

    SqlServer初学者学习笔记

    3. Transact-SQL (T-SQL):Sql Server扩展了标准SQL,形成了T-SQL,增加了诸如流程控制语句(如IF-ELSE,WHILE)、游标、存储过程、触发器等功能。熟悉T-SQL能让你更好地在Sql Server环境中工作。 4. 数据类型:Sql...

Global site tag (gtag.js) - Google Analytics