SqlServer知识点
在公司天天写Sql写,存储过程,但是公司工具模板把创建的语句都写好了,只负责写里面的逻辑,久而久之,创建语句都不会写了。还有一些知识点都很模糊,平常使用的时候都不清楚,稀里糊涂的就在用。在这里整理一下。巩固复习。
一.存储过程。
1.存储过程类似编程语言的里面的函数,方法。将Sql语句封装在里面,方便调用。
2.首先看下创建无参数存储过程语法。
CREATE PROCEDURE MyProTest
AS
SELECT * FROM dbo.saUser
GO
创建有参数的存储过程
CREATE PROCEDURE MyProTest
(
@ID INT=0
)
WITH ENCRYPTION /* { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]*/
AS
SELECT * 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
BEGIN
DECLARE @sUserName NVARCHAR(50)
SELECT @sUserName=A.sUserName
FROM dbo.saUser A(NOLOCK)
WHERE A.iIden=@iIden RETURN @sUserName
END
b.返回表变量的函数
CREATE FUNCTION Test ---创建语法 Create关键字 +类型 +名称
(
@iIden INT ---参数
)
RETURNS @Table TABLE(
iiden INT,
sName NVARCHAR(50)
)
WITH ENCRYPTION
AS
BEGIN
DECLARE @sUserName NVARCHAR(50)
INSERT INTO @Table
SELECT A.iIden,A.sUserName
FROM dbo.saUser A(NOLOCK)
WHERE A.iIden=@iIden RETURN
END
SqlServer知识点的更多相关文章
- SqlServer知识点记录分享
知识点介绍 双向检索:这里就不大话概念了,直接说它的作用 ISNULL()函数:判断函数是否有值,如果变量没有赋值就给定指定的值,下面的例子就是如果@TOTALCOUNT变量为NULL那么就赋值为空字 ...
- sqlserver 知识点
数据库知识点 1.数据库操作: 增:insert into 表名 values(值1,值2,值3) 删:delete 列名 from 表名 where 条件 改:update 表名 set =值 wh ...
- Sqlserver知识点1
1.字符串 字符数据类型是SQL Server 中最常用的数据类型之一,它可以用来存储各种字母.数字符号和特殊符号.在使用字符数据类型时,需要在其前后加上英文单引号或者双引号. (1)char ...
- SqlServer知识点-操作xml
一.开发环境 SQL2010 二.开发过程 1.声明一个xml类型变量 DECLARE @xmlInfo XML; SET @xmlInfo = '<CompanyGroup> <C ...
- Sqlserver中一直在用又经常被忽略的知识点一
已经有快2个月没有更新博客了,实在是因为最近发生了太多的事情,辞了工作,在湘雅医院待了一个多月,然后又新换了工作...... 在平时的工作中,Sqlserver中许多知识点是经常用到的,但是有时候我们 ...
- sql操作知识点个人笔记(SQLServer篇)
实际工作中,总会遇到一些常用的或不常用的sql,这些sql可能并没多少技术含量,但对我们本身而言,一个最大的问题就是很容易忘记.对我个人而言,以前常用的,过阵子之后再用到,发现不记得了.由此得出结论, ...
- sqlserver常用知识点备忘录(持续更新)
背景 一个项目的开发,离不开数据库的相关操作,表/视图设计,存储过程,触发器等等数据库对象的操作是非常频繁的.有时候,我们会查找系统中类似的代码,然后复制/粘贴进行再进行相应的修改.本文的目的在于归纳 ...
- sqlserver的一些小知识点
1.高效分页sql和储存过程 select top 每页条数 * from ( select ROW_NUMBER() over (order by id)as nid ,* from table01 ...
- sqlserver数据库知识点总结(转)
随机推荐
- reids 安装
第一步:在VMware中安装CentOS(参考Linux教程中的安装虚拟机) 第二步:在Linux下安装gcc环境 [root@hadoop ~]#yum install gcc-c++ 第三步:将下 ...
- 【cocos2d-x 仙凡奇缘-网游研发(1) 登录&注册】
转载请注明出处:http://www.cnblogs.com/zisou/p/xianfan01.html 公司的项目总算告一段落了,年前憋到年后,总算要上线了,所以我也有了时间来搞我自己的游戏项目了 ...
- 机器学习、深度学习、和AI算法可以在网络安全中做什么?
本文由 网易云发布. 本文作者:Alexander Polyakov,ERPScan的首席技术官和联合创始人.EAS-SEC总裁,SAP网络安全传播者. 现在已经出现了相当多的文章涉及机器学习及其保 ...
- A Tool to Clip Images
using Microsoft.Win32; using System; using System.IO; using System.Text.RegularExpressions; using Sy ...
- HDU 1710Binary Tree Traversals(已知前序中序,求后序的二叉树遍历)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1710 解题思路:可以由先序和中序的性质得到 : 先序的第一个借点肯定是当前子树的根结点, 那么在 中序 ...
- Ubuntu 16.04下的安装RabbitMQ
安装 添加源 echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/ra ...
- 怎么在eclipse中访问webservice
在eclipse创建webservice的方法: 1.在Eclipse的菜单栏中,Window --> Preferences --> Web Service --> Axis2 P ...
- Python小白学习之路(十八)—【内置函数三】
一.对象操作 help() 功能:返回目标对象的帮助信息 举例: print(help(input)) #执行结果 Help on built-in function input in module ...
- Django中指定生成表名的方法
在模型类中定义元类: class Meta: de_table = 'tableName' #指定表名
- easyUI datebox 日期空间斜杠格式化。例如将日期空间中显示2017-03-13,改为2017/03/13
easyUI datebox 日期空间斜杠格式化 将日期空间中显示2017-03-13,改为2017/03/13 //日期控件斜杠格式化 function formatDate(date){ if( ...