摘要:行锁使用注意事项 1、ROWLOCK行级锁确保在用户取得被更新的行,到该行进行更新,这段时间内不被其它用户所修改。因而行级锁即可保证数据的一致性,又能提高数据操作的并发性。 2、ROWLOCK告诉SQL Server只使用行级锁,ROWLOCK语法可以使用在SELECT,UPDATE和DELETE语
阅读全文
摘要:用户锁定表注意事项 通过指定锁定方法、一个或多个索引、查询处理操作(如表扫描或索引查找)或其他选项,表提示在数据操作语言 (DML) 语句执行期间覆盖查询优化器的默认行为。表提示在 DML 语句的 FROM 子句中指定,仅影响在该子句中引用的表或视图。 如果查询计划不访问表,则将忽略表提示。 这可能
阅读全文
摘要:锁定义(Definition) 锁定是 DBMS 将访问限制为多用户环境中的行的过程。 以独占方式锁定行或列,不允许其他用户访问锁定的数据,直到锁被释放。 这可确保两个用户不能同时更新行中的同一列。 锁会从资源角度来看很高,应仅在需要时保持数据完整性。 在数据库中的数百或数千个用户可能会尝试访问的记
阅读全文
摘要:删除函数注意事项 从当前数据库中删除一个或多个用户定义函数。DROP 函数支持本机编译的标量用户定义函数。 如果数据库中存在引用 DROP FUNCTION 的 Transact-SQL 函数或视图并且这些函数或视图通过使用 SCHEMABINDING 创建,或者存在引用该函数的计算列、CHECK
阅读全文
摘要:修改表值函数注意事项 更改先前通过执行 CREATE FUNCTION 语句创建的现有 Transact-SQL 或 CLR 函数,但不更改权限,也不影响任何相关的函数、存储过程或触发器。 不能用 ALTER FUNCTION 将表值函数更改为标量值函数,反之亦然。 不能用 ALTER FUNCTI
阅读全文
摘要:修改标量值函数注意事项 更改先前通过执行 CREATE FUNCTION 语句创建的现有 Transact-SQL 或 CLR 函数,但不更改权限,也不影响任何相关的函数、存储过程或触发器。 不能用 ALTER FUNCTION 将标量值函数更改为表值函数。反之亦然。 不能使用 ALTER FUNC
阅读全文
摘要:表值函数创建注意事项 用户定义表值函数返回 table 数据类型。 对于内联表值函数,没有函数主体,表是单个 SELECT 语句的结果集。 表值函数主要用于数据计算出来返回结果集。 使用SSMS数据库管理工具和T-SQL脚本创建表值函数语法相同。 使用T-SQL脚本创建表值函数 语法: 语法一: -
阅读全文
摘要:创建标量函数注意事项 在 SQL Server 和 Azure SQL Database 中创建用户定义函数。 用户定义函数是接受参数、执行操作(例如复杂计算)并将操作结果以值的形式返回的 Transact-SQL 或公共语言运行时 (CLR) 例程。 返回值可以是标量(单个)值或表。 使用此语句可
阅读全文
摘要:用户定义函数定义 与编程语言中的函数类似,SQL Server 用户定义函数是接受参数、执行操作(例如复杂计算)并将操作结果以值的形式返回的例程。 返回值可以是单个标量值或结果集。 用户定义函数准则 在函数中,将会区别处理导致语句被取消并继续执行模块(如触发器或存储过程)中的下一个语句的 Trans
阅读全文
摘要:分布式事务创建注意事项 指定一个由 Transact-SQL 分布式事务处理协调器 (MS DTC) 管理的 Microsoft 分布式事务的起点。 执行 BEGIN DISTRIBUTED TRANSACTION 语句的 SQL Server 数据库引擎的实例是事务创建者,并控制事务的完成。 当为
阅读全文
摘要:隐式事务创建注意事项 IMPLICIT_TRANSACTIONS为 ON 时,系统处于“隐式”事务模式。 这意味着如果 @@TRANCOUNT = 0,下列任一 Transact-SQL 语句都会开始新事务。 这等同于先执行一个不可见的 BEGIN TRANSACTION。 IMPLICIT_TRA
阅读全文
摘要:显式事务定义 显式事务以 BEGIN TRANSACTION 语句开始,并以 COMMIT 或 ROLLBACK 语句结束。 备注 BEGIN TRANSACTION 使 @@TRANCOUNT 按 1 递增。 BEGIN TRANSACTION 代表一点,由连接引用的数据在该点逻辑和物理上都一致的
阅读全文
摘要:事务定义 事务是单个的工作单元。事务是在数据库上按照一定的逻辑顺序执行的任务序列,既可以由用户手动执行,也可以由某种数据库程序自动执行。 事务分类 自动提交事务 每条单独的语句都是一个事务。 在自动提交模式下, 每个数据库操作是在执行时已提交的事务。 此模式适合用于包含单个 SQL 语句的许多实际的
阅读全文
摘要:删除存储过程注意事项 在删除任何存储过程之前,请检查依赖对象,并且相应地修改这些对象。 如果没有更新这些对象,则删除存储过程可能会导致依赖对象和脚本失败。 若要显示现有过程的列表,请查询 sys.objects 目录视图。 若要显示过程定义,请查询 sys.sql_modules 目录视图。 需要拥
阅读全文
摘要:修改存储过程注意事项 只能修改先前在 SQL Server 中通过执行 CREATE PROCEDURE 语句创建的过程。 Transact-SQL 存储过程修改为 CLR 存储过程,反之亦然。 ALTER PROCEDURE 不会更改权限,也不影响相关的存储过程或触发器。 但是,当修改存储过程时,
阅读全文
摘要:创建存储过程注意事项 在 SQL Server、 Azure SQL Database、Azure SQL 数据仓库和并行数据库中创建 Transact-SQL 或公共语言运行时 (CLR) 存储过程,存储过程与其他编程语言中的过程类似。 可以在当前数据库中创建永久过程,或者在 tempdb 数据库
阅读全文