摘要:
开始事务:begin transaction提交事务:commit transaction回滚事务:rollback transaction例子:begin transactiondeclare @errorSum int --定义局部变量set @errorSum=0 --初始化临时变量update bank set currentMoney=currentMoney-1000 where customerName='张三'set @errorSum=@errorSum+@@error --累计是否有错误update bank set currentMoney=current 阅读全文
摘要:
SQL Server函数大全--聚合函数use pubsgoselect avg(distinct price) --算平均数from titleswhere type='business'use pubsgoselect max(ytd_sales) --最大数from titlesuse pubsgoselect min(ytd_sales) --最小数from titlesuse pubsgoselect type,sum(price),sum(advance) --求和from titlesgroup by type order by typeuse pubsgosel 阅读全文
摘要:
概述 和其他高级语言一样,T-SQL中也有用于控制流程的语句。T-SQL中的流程控制语句进一步扩展了T-SQL的力量……使得大部分业务逻辑可以在数据库层面进行。但很多人对T-SQL中的流程控制语句并没有系统的了解,本篇文章会系统的对T-SQL语句中的流程控制语句进行系统讲解。基本概念 在没有流程控制语句的情况下,T-SQL语句是按照从上到下的顺序逐个执行: 使用流程控制语句可以让开发人员可以基于某些逻辑进行选择性的跳转,实现了类似高级语言的跳转结构: 流程控制语句的使用范围和GO关键字 流程控制语句只能在单个批处理段(Batch),用户自定义函数和存储过程中使用。不能跨多个批处理段或者用户自. 阅读全文
摘要:
触发器实际上就是一种特殊类型的存储过程,其特殊性表现在:它是在执行某些特定的T-SQL语句时自动的。11.1 触发器简介触发器实际上就是一种特殊类型的存储过程,它是在执行某些特定的T-SQL语句时自动执行的一种存储过程。在SQL Server 2005中,根据SQL语句的不同,把触发器分为两类:一类是DML触发器,一类是DLL触发器。11.1.1 触发器的概念和作用在SQL Server 2005里,可以用两种方法来保证数据的有效性和完整性:约束(check)和触发器(Trigger)。约束是直接设置于数据表内,只能现实一些比较简 单的功能操作,如:实现字段有效性和唯一性的检查、自动填入默认值 阅读全文
摘要:
表操作create table t_person1(id int not null,name nvarchar(50),age int null)drop table t_person1alter table t_person1 add department vchar(20)数据更新update Student set Name='李鹏' where Id=5update a set a.Bonus=500 from Student a inner join Gender b on a.Gender=b.Id where b.GenderName='男'upd 阅读全文
摘要:
--SQLSERVER2000取第几行到第几行的方法--(第一种方法)效率最差selecttop5*fromcustomerswhereCustomerIDnotin(selecttop5CustomerIDfromcustomers)--(第二种方法)效率最好, 这里先执行的是Order by 然后才执行Topselectb.*from(selecttop5a.*from(selecttop10*fromcustomersorderbyCustomerIDasc)aorderbya.CustomerIDdesc)borderbyb.CustomerID--(第三种方法)利用临时表和ident 阅读全文
摘要:
sql语句判断方法之一 Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END这两种方式,可以实现相同的功能。简单Case函数的写法相对比较 阅读全文
摘要:
-- =============================================-- Author: 流逝在夏天-- Create date: 2011年8月30日20:55:27-- Update Date: 2011年9月2日3:44:51-- Description: 简单复习存储过程-- =============================================USE ReviewSql--用户表CREATE TABLE Users (ID INT PRIMARY KEY IDENTITY(1,1),UserName VAR... 阅读全文
摘要:
SQL Server 存储过程详解存储过程的优缺点 ◆优点: 执行速度更快。存储过程只在创造时进行编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程执行速度更快。 存储过程用于处理复杂的操作时,程序的可读性更强、网络的负担更小。 使用存储过程封装事务性能更佳。 能有效的放注入,安全性更好。 可维护性高,在一些业务规则发生变化时,有时只需调整存储过程即可,而不用改动和重编辑程序。 更好的代码重用。 ◆ 缺点: 存储过程将给服务器带来额外的压力。 存储过程多多时维护比较困难。 移植性差,在升级到不同的数据库时比较困难。 调试麻烦,SQL语言的处理功能简单。 总... 阅读全文
摘要:
当我们在用SQL Server数据库开发系统的时候,经常会遇到系统需要权限控制,然而根据权限的控制程度不同有不同的设计方案。1. 基于角色的权限设计这种方案是最常见也是比较简单的方案,不过通常有这种设计已经够了,所以微软就设计出这种方案的通用做法,这种方案对于每一个操作不做控制,只是在程序中根据角色对是否具有操作的权限进行控制;这里我们就不做详述2. 基于操作的权限设计这种模式下每一个操作都在数据库中有记录,用户是否拥有该操作的权限也在数据库中有记录,结构如下:但是如果直接使用上面的设计,会导致数据库中的UserAction这张表数据量非常大,所以我们需要进一步设计提高效率,请看方案33. 基 阅读全文