位置: 编程技术 - 正文

深入分析SQL Server 存储过程(深入分析换一种说法)

编辑:rootadmin

推荐整理分享深入分析SQL Server 存储过程(深入分析换一种说法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:对存在的问题进行了深入分析,深入分析原因,找出问题根源并有效破解,对存在的问题进行了深入分析,深入分析原因,找出症结,深入分析形势,找准,对存在的问题进行了深入分析,深入分析原因,找出问题根源并有效破解,对存在的问题进行了深入分析,内容如对您有帮助,希望把文章链接给更多的朋友!

Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。

Ø 存储过程的概念

存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。

存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。

由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行要比单个的SQL语句块要快。同时由于在调用时只需用提供存储过程名和必要的参数信息,所以在一定程度上也可以减少网络流量、简单网络负担。

1、 存储过程的优点

A、 存储过程允许标准组件式编程

存储过程创建后可以在程序中被多次调用执行,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,但对应用程序源代码却毫无影响,从而极大的提高了程序的可移植性。

B、 存储过程能够实现较快的执行速度

如果某一操作包含大量的T-SQL语句代码,分别被多次执行,那么存储过程要比批处理的执行速度快得多。因为存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进行分析、优化,并给出最终被存在系统表中的存储计划。而批处理的T-SQL语句每次运行都需要预编译和优化,所以速度就要慢一些。

C、 存储过程减轻网络流量

对于同一个针对数据库对象的操作,如果这一操作所涉及到的T-SQL语句被组织成一存储过程,那么当在客户机上调用该存储过程时,网络中传递的只是该调用语句,否则将会是多条SQL语句。从而减轻了网络流量,降低了网络负载。

D、 存储过程可被作为一种安全机制来充分利用

系统管理员可以对执行的某一个存储过程进行权限限制,从而能够实现对某些数据访问的限制,避免非授权用户对数据的访问,保证数据的安全。

Ø 系统存储过程

系统存储过程是系统创建的存储过程,目的在于能够方便的从系统表中查询信息或完成与更新数据库表相关的管理任务或其他的系统管理任务。系统存储过程主要存储在master数据库中,以“sp”下划线开头的存储过程。尽管这些系统存储过程在master数据库中,但我们在其他数据库还是可以调用系统存储过程。有一些系统存储过程会在创建新的数据库的时候被自动创建在当前数据库中。

常用系统存储过程有:

系统存储过程示例:--表重命名

--列重命名

--重命名索引

--查询所有存储过程

Ø 用户自定义存储过程

1、 创建语法

create proc | procedure pro_name [{@参数数据类型} [=默认值] [output], {@参数数据类型} [=默认值] [output], .... ]as SQL_statements

深入分析SQL Server 存储过程(深入分析换一种说法)

2、 创建不带参数存储过程

--创建存储过程

--调用、执行存储过程

3、 修改存储过程

--修改存储过程

4、 带参存储过程

--带参存储过程

5、 带通配符参数存储过程

--带通配符参数存储过程

6、 带输出参数存储过程

7、 不缓存存储过程

--WITH RECOMPILE 不缓存

8、 加密存储过程

--加密WITH ENCRYPTION

9、 带游标参数存储过程

、 分页存储过程

---存储过程、row_number完成分页

Ø Raiserror

Raiserror返回用户定义的错误信息,可以指定严重级别,设置系统变量记录所发生的错误。

语法如下:

Raiserror({msg_id | msg_str | @local_variable} {, severity, state} [,argument[,…n]] [with option[,…n]]) # msg_id:在sysmessages系统表中指定的用户定义错误信息

# msg_str:用户定义的信息,信息最大长度在个字符。

# severity:用户定义与该消息关联的严重级别。当使用msg_id引发使用sp_addmessage创建的用户定义消息时,raiserror上指定严重性将覆盖sp_addmessage中定义的严重性。

任何用户可以指定0-直接的严重级别。只有sysadmin固定服务器角色常用或具有alter trace权限的用户才能指定-直接的严重级别。-之间的安全级别需要使用with log选项。

# state:介于1至直接的任何整数。State默认值是1。

raiserror('is error', , 1);select * from sys.messages;--使用sysmessages中定义的消息raiserror(, , 1);raiserror(, , 1);

以上所述就是本文的全部内容了,希望大家能够喜欢。

SQL函数substr使用简介 substr(string,1,3)函数解读:取string中重左往右取3字长的字符串。结果为:str从右往左呢?应该有另一个函数来提供这样的功能吧!事实上,从右往左也是

调整SQLServer运行中数据库结构 开发过程中的数据库结构结构,不可避免的会需要反复的修改。最麻烦的情况莫过于开发者数据库结构已经修改,而实际应用中数据库又有大量数据,

介绍备份和还原MySQL数据的两种方法 使用mysqldump进行备份和还原使用mysqldump进行备份mysqladminstop-slave-uroot-pmysqldump--all-databasesfulldb.dumpmysqladminstart-slave-uroot-ptar-czf/tmp/dbdump.tar.gz./fulldb.dump./mysql

标签: 深入分析换一种说法

本文链接地址:https://www.jiuchutong.com/biancheng/347756.html 转载请保留说明!

上一篇:一道关于数据库(经典父子级 ID 关联)更新题(关于数据库的叙述)

下一篇:SQL函数substr使用简介

  • 进出口税则是什么意思
  • 小规模纳税人认定的最新标准2022
  • 城镇土地使用税减免税政策
  • 分公司是否需要刻章
  • 旅游服务住宿费入什么科目
  • 商会会费是什么意思
  • 运输发票抵扣进项税率
  • 住宿发票抵扣怎么做账
  • 印花税计税依据是销售收入吗
  • 红字发票可用于入账吗
  • 白酒的消费税怎样计算
  • 增值税进项税额转出的账务处理
  • 船舶维修价格表2017
  • 新会计准则开办费的账务处理
  • 收回公司代垫职工款项怎么做凭证?
  • 发票经手人和经办人的区别
  • 1697508923
  • 车船使用牌照税收多少
  • 公司的资产负债表包括
  • 发放给职工
  • 处置固定资产简易计税怎么申报
  • 施工企业会计制度有哪些
  • php数组函数实现机选双色球
  • php处理图片需要什么扩展
  • 应收票据计提利息应做的会计分录是
  • 制造业企业资金管理
  • 餐厅用的打包盒图片
  • h5响应式布局是什么
  • laravel多条件查询
  • 未开票收入不申报处罚
  • 企业汇算清缴发现之前收入记多了可以调整吗
  • linux symbolic link
  • 办理完税证明需要什么资料
  • 零申报季报怎么报税的具体流程
  • 普通发票密码区出格了能用吗
  • 预付款为什么不扣质保金呢
  • 零税项目
  • 出租车票可以查到行程吗
  • 商品进销差价是流动资产吗
  • 小微企业所得税税收优惠政策2023年
  • PostgreSQL教程(九):事物隔离介绍
  • 无法取得发票的成本能列支吗
  • 所得税季初季末怎么填
  • 外出经营必须办理外管证吗
  • 借款利息应计入
  • 公司采购产品赠送给客户会计分录
  • 施工企业项目部管理人员对外行为的法律后果由谁承担
  • 企业收到微信和企业微信
  • 投资收益期末余额在借方还是贷方
  • 小规模纳税人财务报表季报怎么填
  • 普票抵扣
  • Python MySQL进行数据库表变更和查询
  • AppleMobileDeviceService.exe是什么进程?AppleMobileDeviceService.exe是病毒吗?
  • window10预览在哪里找
  • windows电脑加速
  • win8系统怎么激活
  • linux怎么安装iso
  • dreamweaver是干嘛的
  • Linux下SSH Session复制功能实现方法
  • windows无法访问\\192.168.1.104
  • Mac系统修复怎么进入
  • linux大于符号
  • win7装win8系统教程
  • win10极限模式
  • window10 弹窗广告
  • jquery表单验证代码
  • cocos2dx ui编辑器
  • 基于nodejs的项目
  • shell脚本判断字符串是否为空
  • css怎么设置表单居中
  • xcopy复制并改名
  • js验证正整数
  • javascript 继承
  • 用js实现类的方法
  • 广西税务局增值税发票查询平台
  • 个人限购
  • 平板电脑购物
  • 财政法和经济法的关系
  • 个人所得税app密码给别人有风险吗
  • 福建农村社保一个月可以拿多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设