在公司天天写Sql写,存储过程,但是公司工具模板把创建的语句都写好了,只负责写里面的逻辑,久而久之,创建语句都不会写了。还有一些知识点都很模糊,平常使用的时候都不清楚,稀里糊涂的就在用。在这里整理一下。巩固复习。

一.存储过程。

1.存储过程类似编程语言的里面的函数,方法。将Sql语句封装在里面,方便调用。

2.首先看下创建无参数存储过程语法。

CREATE PROCEDURE MyProTest
ASSELECT * FROM dbo.saUser
GO

创建有参数的存储过程

CREATE PROCEDURE MyProTest
(@ID INT=0
)
WITH ENCRYPTION /* { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]*/
ASSELECT * FROM dbo.saUser
GO

这个地方后面WITH后面跟的值要说明下

a.RECOMPILE  表明 SQL Server 不会缓存该过程的计划,该过程将在运行时重新编译。在使用非典型值或临时值而不希望覆盖缓存在内存中的执行计划时,请使用 RECOMPILE 选项。

b.ENCRYPTION 表示 SQL Server 加密 syscomments 表中包含 CREATE PROCEDURE 语句文本的条目。使用 ENCRYPTION 可防止将过程作为 SQL Server 复制的一部分发布。 说明 在升级过程中,SQL Server 利用存储在 syscomments 中的加密注释来重新创建加密过程。 说白了就是就是对存储过程进行加密。这个我经常用,上面以恶就不经常用了,在这里了解一下。

3.执行存储过程

EXEC dbo.MyProTest @ID=1

4.删除存储过程

DROP PROC dbo.MyProtest

删除语法简单说一下。不管删除表,还是存储过程,还是视图,还是函数。删除语法都是 Drop 关键字 +类型+名称。

二.函数

1.创建语法

a.返回Nvarchar类型参数

CREATE FUNCTION Test    ---创建语法 Create关键字 +类型 +名称
(@iIden INT          ---参数
)
RETURNS NVARCHAR(50)    --定义返回类型
WITH ENCRYPTION
AS
BEGINDECLARE @sUserName NVARCHAR(50)   SELECT @sUserName=A.sUserNameFROM dbo.saUser A(NOLOCK)WHERE A.iIden=@iIdenRETURN @sUserName
END

b.返回表变量的函数

CREATE FUNCTION Test    ---创建语法 Create关键字 +类型 +名称
(@iIden INT          ---参数
)
RETURNS @Table TABLE(iiden INT,sName NVARCHAR(50)
)
WITH ENCRYPTION
AS
BEGINDECLARE @sUserName NVARCHAR(50)INSERT INTO @TableSELECT A.iIden,A.sUserNameFROM dbo.saUser A(NOLOCK)WHERE A.iIden=@iIdenRETURN
END

转载于:https://www.cnblogs.com/DingKing/p/8267109.html

SqlServer知识点相关推荐

  1. Sqlserver中一直在用又经常被忽略的知识点一

    已经有快2个月没有更新博客了,实在是因为最近发生了太多的事情,辞了工作,在湘雅医院待了一个多月,然后又新换了工作...... 在平时的工作中,Sqlserver中许多知识点是经常用到的,但是有时候我们 ...

  2. mysql存储csv文件_MySQL 查询结果保存为CSV文件

    MySQL支持将查询结果直接导出为文本格式,格式如下: into outfile '导出的目录和文件名'                  指定导出的目录和文件名 fields terminated ...

  3. 干货!sqlserver数据库所有知识点总结整理,含代码(挺全的)

    01 T-SQL案例整理 已知有一个表:该表的字段有:id,name,date,gradeid,email,表名为table_name,按要求实现下面内容. 1.插入一条记录: insert into ...

  4. SQLServer存储过程知识点整合

    一.SQL存储过程使用 ----重命名存储过程-S-- --sp_rename newProc,reNewProc ----重命名存储过程-E-- ----删除存储过程-S-- --drop newP ...

  5. sqlserver取模_sqlserver取模_SqlServer基础知识点(T-SQL语言基础)

    DML(数据操作语言) INSERT.UPDATE.DELETE 等 插入.修改和删除数据库中的数据 - 插入数据 ## 插入数据语法:(字符数据需要单引号,数值数据不需要单引号.) INSERT I ...

  6. 使用SQLServer 2008的CDC功能实现数据变更捕获

    原文: 使用SQLServer 2008的CDC功能实现数据变更捕获 最近由于工作需要,研究了一下2008 CDC功能,觉得还不错,下面整理了一下研究过程,虽然比较粗略,但是基本上能用了,如果有补充请 ...

  7. .net与数据库知识点

    <%服务器方法;%> (调用服务器方法,要写;) <=%服务器方法%> (有返回值输出,不能写;) public ActionResult Index(int id = 0) ...

  8. python为啥这么受欢迎_Python为什么这么受欢迎?原因竟在于它的10个知识点

    Python被誉为全世界高效的编程语言,同时也被称作是"胶水语言".Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.设计具有很强的可读性,相比其他语言 ...

  9. python快速编程入门例题-Python快速编程入门,打牢基础必须知道的11个知识点 !...

    Python被誉为全世界高效的编程语言,同时也被称作是"胶水语言",那它为何能如此受欢迎,下面我们就来说说Python入门学习的必备11个知识点,也就是它为何能够如此受欢迎的原因. ...

最新文章

  1. php中finally不能用,php-什么时候以及为什么`finally`有用?
  2. basler相机 ip linux,Linux环境中连接Basler相机(Pylon软件的安装),ROS环境中连接Basler相机...
  3. Laravel 服务提供者和门面模式
  4. 财务管理(Finance Management)
  5. 数学的威力:一个方程提升中国卫星图像质量30%
  6. uncode移动后端云【www.uncode.cn】--简介
  7. Python Imaging Library: Script(脚本)
  8. UDS - 诊断协议和协议栈介绍
  9. 量子力学计算机原理,量子力学的基本原理
  10. 知道为什么HTML页面在电脑上和手机上的布局不同吗?这篇文章带你走进Element UI的简单适配
  11. 科目二 后视镜 调节
  12. 英语常用口语1000句
  13. 盘点那些有趣的AR应用
  14. AUTOSAR I-PDU的理解以及I-PDU的Callout
  15. vscode 添加新建文件夹快捷键 (配置 when 属性)
  16. wx.createSelectorQuery() 获取节点信息 获取不到解决方法
  17. webservice返回值为Map类型的处理方法
  18. php 警告提示框,js弹出对话框(消息框、警告框)
  19. 计算机数字媒体计数专业好就业吗,2019数字媒体技术专业就业形势和就业方向分析...
  20. 嘀,你有一份1024礼物待查收!

热门文章

  1. CodeForces 757B Bash's Big Day(线性筛)
  2. [na]华为acl(traffic-filter)和dhcp管理
  3. 使用Myeclipse完成Hibernate的逆向工程
  4. 字符串字符和数字分割
  5. UVA10236 斐波那契素数
  6. Kali 2.0 采用ssh连接登陆
  7. 单片机全局有必要封装_MCU-C程序基本编程规范(转)
  8. 很全的sas基础知识
  9. java md2_java中加密的实现方法(MD5,MD2,SHA)
  10. 机器人峰会王伟_【“峰”景独好】大美中国探春中国机器人峰会举办地——浙江宁波余姚...