随笔分类 -  SQL Server学习

1
摘要:1.创建标量函数 即返回一个单个值的函数 定义如下 IF OBJECT_ID (N'dbo.ufnGetInventoryStock', N'FN') IS NOT NULL DROP FUNCTION ufnGetInventoryStock; GO CREATE FUNCTION dbo.ufn 阅读全文
posted @ 2020-05-26 07:22 Vincent-yuan 阅读(2032) 评论(0) 推荐(0) 编辑
摘要:视图是一个虚拟表,其内容由查询定义。 视图的作用 对于视图所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自:当前或者其他数据库的一个或多个表或者视图。 视图通常用来集中、简化和自定义每个用户对数据库的不同认识。视图可用作安全机制,方法是允许用户通过视图访问数据,而不授予用户直接访问视 阅读全文
posted @ 2020-04-25 11:28 Vincent-yuan 阅读(346) 评论(0) 推荐(0) 编辑
摘要:这里讲表的一些约束。 一.主键 1). 主键的创建 示例1:在现有表创建主键 ALTER TABLE Production.TransactionHistoryArchive ADD CONSTRAINT PK_TransactionHistoryArchive_TransactionID PRIM 阅读全文
posted @ 2020-04-25 10:24 Vincent-yuan 阅读(672) 评论(0) 推荐(0) 编辑
摘要:表值参数是使用用户定义的表类型来声明的。 使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存储过程或函数)发送多行数据。 示例: 下面的示例使用 Transact-SQL 并展示了如何执行以下操作: 创建表值参数类型,声明变量来引用它,填充参数列表,然后将 阅读全文
posted @ 2020-04-09 22:44 Vincent-yuan 阅读(639) 评论(0) 推荐(0) 编辑
摘要:这节记录表的相关操作。 1.创建表 CREATE TABLE dbo.PurchaseOrderDetail ( PurchaseOrderID int NOT NULL ,LineNumber smallint NOT NULL ,ProductID int NULL ,UnitPrice mon 阅读全文
posted @ 2020-04-09 22:21 Vincent-yuan 阅读(170) 评论(0) 推荐(0) 编辑
摘要:插入10w条数据的操作 最常见的insert做法 //执行数据条数 int cnt = 10 * 10000; //要插入的数据 CustomerFeedbackEntity m = new CustomerFeedbackEntity() { BusType = 1, CustomerPhone 阅读全文
posted @ 2020-04-07 21:33 Vincent-yuan 阅读(410) 评论(0) 推荐(0) 编辑
摘要:什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里。 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在不同的磁盘下由多个cpu进行处理。这样文件的大小随着拆分而减小,还得到硬件系统的加强,自然对我们操作 阅读全文
posted @ 2020-04-06 11:54 Vincent-yuan 阅读(302) 评论(0) 推荐(0) 编辑
摘要:插入,更新,删除操作在具有大量数据的表中会变的很慢。通过分区表的分区交换可以快速实现这个过程。 分区交换的条件 分区交换总是涉及两个表。数据从源表交换到目标表。所以目标表必须总是空的。 分区交换有很多要求的条件,下面是一些比较重要的: 源表和目标表(或者分区)必须有一样的列,索引,并且使用同样的分区 阅读全文
posted @ 2020-04-06 10:01 Vincent-yuan 阅读(1443) 评论(0) 推荐(0) 编辑
摘要:系统函数: sys.dm_sql_referencing_entities 此函数用于显示依赖于过程的对象。 1.第一个示例创建 uspVendorAllInfo 过程,该过程返回 Adventure Works Cycles 数据库中所有供应商的名称、所提供的产品、信用等级以及可用性。 IF OB 阅读全文
posted @ 2020-04-01 23:11 Vincent-yuan 阅读(303) 评论(0) 推荐(0) 编辑
摘要:查看存储过程定义 方法1.系统存储过程: sp_helptext USE AdventureWorks2012; GO EXEC sp_helptext N'AdventureWorks2012.dbo.uspLogError'; 方法2.系统函数:OBJECT_DEFINITION USE Adv 阅读全文
posted @ 2020-04-01 22:52 Vincent-yuan 阅读(587) 评论(0) 推荐(0) 编辑
摘要:示例如下 示例将创建 'HumanResources.uspGetAllEmployeesTest存储过程。 第二个示例将存储过程重命名为 HumanResources.uspEveryEmployeeTest。 --Create the stored procedure. USE Adventur 阅读全文
posted @ 2020-04-01 22:47 Vincent-yuan 阅读(937) 评论(0) 推荐(0) 编辑
摘要:通过指定过程参数,调用程序可以将值传递给过程的主体。 如果将参数标记为 OUTPUT 参数,则过程参数还可以将值返回给调用程序。 一个过程最多可以有 2100 个参数,每个参数都有名称、数据类型和方向。 还可以为参数指定默认值(可选)。 将值传递给参数 使用过程调用提供的参数值必须为常量或变量,不能 阅读全文
posted @ 2020-04-01 22:41 Vincent-yuan 阅读(1915) 评论(0) 推荐(0) 编辑
摘要:执行存储过程 直接在查询中运行如下 USE AdventureWorks2012; GO EXEC dbo.uspGetEmployeeManagers 6; GO 设置或清除过程自动执行 1.连接到 数据库引擎。 2.在标准菜单栏上,单击 “新建查询” 。 3.将以下示例复制并粘贴到查询窗口中,然 阅读全文
posted @ 2020-04-01 22:11 Vincent-yuan 阅读(2686) 评论(0) 推荐(0) 编辑
摘要:在查询编辑器中删除过程 1.在 “对象资源管理器” 中,连接到 数据库引擎 的实例,然后展开该实例。 2.展开 “数据库” 、过程所属的数据库,或者从工具栏,从可用数据库列表选择该数据库。 3.在“文件”菜单上,单击 “新建查询” 。 4.获取要在当前数据库中删除的存储过程的名称。可以在查询编辑器中 阅读全文
posted @ 2020-04-01 21:58 Vincent-yuan 阅读(1422) 评论(0) 推荐(0) 编辑
摘要:使用 Transact-SQL 1.在 “对象资源管理器” 中,连接到 数据库引擎 的实例,然后展开该实例。 2.展开 “数据库” ,然后展开过程所属的数据库。 3.在 “文件” 菜单上,单击 “新建查询” 。 4.复制以下示例并将其粘贴到查询编辑器中,先创建存储过程。该过程返回 Adventure 阅读全文
posted @ 2020-04-01 21:47 Vincent-yuan 阅读(3231) 评论(0) 推荐(0) 编辑
摘要:这里主要记录使用脚本的方式。 使用 Transact-SQL 1. 在 “对象资源管理器” 中,连接到 数据库引擎的实例。 2.从 “文件” 菜单中,单击 “新建查询” 。 3.将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。 该示例将使用其他过程名称创建与上述相同的存储过程。 USE Adv 阅读全文
posted @ 2020-04-01 21:29 Vincent-yuan 阅读(470) 评论(0) 推荐(0) 编辑
摘要:打开 SQL Server Management Studio,然后连接到目标 SQL Server 实例。 右键单击 "数据库" 节点,然后选择 "还原数据库"。 选择 "设备",然后单击省略号(...) 选择备份文件,然后点击确定 完成数据库还原。 完成后,会在 SQL Server 实例上安装 阅读全文
posted @ 2020-04-01 21:21 Vincent-yuan 阅读(167) 评论(0) 推荐(0) 编辑
摘要:pivot 可以把列值转换为输出中的多个列。 pivot 可以在其他剩余的列的值上执行聚合函数。 unpivot 将列转换为列值 语法 SELECT <non-pivoted column>, [first pivoted column] AS <column name>, [second pivo 阅读全文
posted @ 2020-03-31 21:28 Vincent-yuan 阅读(1865) 评论(0) 推荐(0) 编辑
摘要:LEFT 返回字符串中从左边开始指定个数的字符。 语法 LEFT ( character_expression , integer_expression ) character_expression 字符或二进制数据的表达式。 character_expression 可以是常量、变量或列 。 in 阅读全文
posted @ 2020-03-30 22:24 Vincent-yuan 阅读(839) 评论(0) 推荐(0) 编辑
摘要:with ... as 作用:指定临时命名的结果集,类似于临时表。 但是,这个结果集被称作:公用表表达式(CTE) - common_table_expression 可以在select , insert , update , delete , merge语句的执行范围定义。 公用表表达式可以包括对 阅读全文
posted @ 2020-03-30 22:03 Vincent-yuan 阅读(2996) 评论(0) 推荐(0) 编辑

1