随笔分类 -  SQL

该文被密码保护。
posted @ 2013-12-22 00:55 星火卓越 阅读(16) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2013-12-22 00:30 星火卓越 阅读(2) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2013-12-22 00:21 星火卓越 阅读(4) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2013-12-21 23:04 星火卓越 阅读(5) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2013-12-20 23:26 星火卓越 阅读(7) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2013-12-20 23:20 星火卓越 阅读(2) 评论(0) 推荐(0)
摘要:锁的概述 一.为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致 不可重复读 A用户读取数据,随后B用户读出该数据并修改,此时A用户再读取数据时发现前后两次的值不一致 并发控制的主要方法是封锁,锁就是在一段时间内禁止用户做某些操作以避免产生数据不一致 二锁的分类 锁的类别有两种分法: ... 阅读全文
posted @ 2013-12-19 00:42 星火卓越 阅读(282) 评论(0) 推荐(0)
摘要:前段时间**公司DBA来我们这培训。讲了一大堆MYSQL的优化。 QA环节一程序员问“SQL语句中的 with nolock 除了不锁表外,是否能读其他锁住的数据"。 讲课的人嘟嘟了半天没解释清楚(有可能是MYSQL里没有这个机制),公司的另一程序员给出了一个很简洁明了的回答: WITH NOLOCK 除了本身不锁表(不加任何锁) 也不会受其他的已存在的锁影响,锁住的行数据也照样读,个人认为这句话说得很清楚明了,一句话就能说明白的事,不过好奇怪的是程序员经常用这个语句竟然也不去试一下。这里顺便总结一下 其他的 SQLSERVER 中的with锁级别: WITH NOLOCK:无锁 W 阅读全文
posted @ 2013-12-19 00:40 星火卓越 阅读(632) 评论(0) 推荐(0)
摘要:阅读目录开始SQL Server 查找记录的方法SQL Server Join 方式更具体执行过程索引统计信息:查询计划的选择依据优化视图查询推荐阅读-MSDN文章对于SQL Server的优化来说,优化查询可能是很常见的事情。由于数据库的优化,本身也是一个涉及面比较的广的话题,因此本文只谈优化查询时如何看懂SQL Server查询计划。毕竟我对SQL Server的认识有限,如有错误,也恳请您在发现后及时批评指正。首先,打开【SQL Server Management Studio】,输入一个查询语句看看SQL Server是如何显示查询计划的吧。说明:本文所演示的数据库,是我为一个演示程序 阅读全文
posted @ 2013-12-17 00:17 星火卓越 阅读(281) 评论(0) 推荐(0)
摘要:触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。Ø 什么是触发器 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。SQL Server 2005中触发器可以分为两类:DML触发器和DDL触发器,其中DDL触发器它们会影响多种数据定义语言语句而激发,这些语句有cr 阅读全文
posted @ 2013-12-11 20:13 星火卓越 阅读(137) 评论(0) 推荐(0)
摘要:安装sql server 2008 management,提示错误:Sql2005SsmsExpressFacet 检查是否安装了 SQL Server 2005 Express 工具。 失败,已安装 SQL Server 2005 Express 工具。若要继续,请删除 SQL Server 2005 Express 工具。sql server 2005 management和sql server 2008 management不是兼容吗?为什么会有这样的提示?答案是SQL Server 2005 Express 工具不是sql server 2005 management,不用卸载sql 阅读全文
posted @ 2013-10-31 13:33 星火卓越 阅读(209) 评论(0) 推荐(0)
摘要:前的项目是做数据库的归档,在每次archive后都需要对原数据库的索引进行rebuild,以减少索引碎片,于是乎就自己写了一段sql:DECLARE @tablename VARCHAR(50)DECLARE @indexname VARCHAR(50)DECLARE @cmdsql NVARCHAR(MAX)DECLARE index_cursor CURSORFOR SELECT OBJECT_NAME(object_id) AS Table_Name , nameFROM sys.indexesWHERE name IS NOT NULL AND OBJECT_NAME(object_i 阅读全文
posted @ 2013-10-15 00:05 星火卓越 阅读(691) 评论(0) 推荐(0)
摘要:select * from tablenmae where id in(1,2,3)这样的语句和常用,但是如果in 后面的 1,2,3是变量怎么办呢,一般会用字符串连接的方式构造sql语句string aa="1,2,3";string sqltxt="select * from tablename where id in ("+aa+")";然后执行 sqltxt这样的风险是存在sql注入漏洞。那么如何在 in 的条件中使用变量呢?可以把形如“1,2,3”这样的字符串转换为一个临时表,这个表有一列,3行,每一行存一个项目(用逗号分隔 阅读全文
posted @ 2013-08-21 15:40 星火卓越 阅读(3714) 评论(0) 推荐(0)
摘要:一、引言在开发多人同时访问的Web应用程序(其实不只这类程序)时,开发人员往往会在缓存策略的设计上狠下功夫。这是因为,如果将这种环境下不常变更的数据临时存放在应用程序服务器或是用户机器上的话,可以避免频繁地往返访问数据库—而数据库访问是要符出昂贵代价的。以往在低版本的SQL Server(SQL Server 2000及以前版本)中,当需要提供数据库内他人更新后的状况时,主要是通过轮询数据库机制来提供对数据库的不断查询;也可能是借助于存储于数据库表格中的触发器或者通过消息队列方式来达到通知目的。如今,作为微软.NET 2.0战略的重要组成部分之一的SQL Server 2005首次引入了主动式 阅读全文
posted @ 2013-08-03 14:27 星火卓越 阅读(2117) 评论(0) 推荐(0)
摘要:SQL Server 触发器触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。Ø 什么是触发器 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。SQL Server 2005中触发器可以分为两类:DML触发器和DDL触发器,其中DDL触发器它们会影响多种数据定义语 阅读全文
posted @ 2013-08-01 20:06 星火卓越 阅读(250) 评论(0) 推荐(0)
摘要:一直学数据库的都知道,关系运算有交,差,并,等运算,而之前的版本一直只看到并,好象很少看到有差,交的运算显式的表达在操作SQL语句中,现在好了,SQL SERVER 2005中有差,交运算了,分别是except和intersect,、今天看到,学习之,并举例如下:EXCEPT 和 INTERSECT 运算符使您可以比较两个或多个 SELECT 语句的结果并返回非重复值。EXCEPT 运算符返回由 EXCEPT 运算符左侧的查询返回、而又不包含在右侧查询所返回的值中的所有非重复值。INTERSECT 返回由 INTERSECT 运算符左侧和右侧的查询都返回的所有非重复值。使用 EXCEPT 或 阅读全文
posted @ 2013-02-04 16:32 星火卓越 阅读(178) 评论(0) 推荐(0)
摘要:前言一般來說,我們大多是用交集,但如果要取差集呢? 如下圖A + C部份!實作直覺來想的話,會使用NOT IN OR NOT EXISTS來做,但是也可以使用EXCEPT哦!請參考以下的SQL, 在ORACLE的話,請使用MINUS --SQL差集練習--資料準備DECLARE @EMPLOYEE TABLE(ID INT IDENTITY(1,1) , EMP_NAME NVARCHAR(32), TOOL_NAME NVARCHAR(64));INSERT INTO @EMPLOYEE(EMP_NAME, TOOL_NAME) VALUES(N'打死釘', N'手鎗 阅读全文
posted @ 2013-02-04 16:27 星火卓越 阅读(2225) 评论(0) 推荐(0)
摘要:the execute permission was denied on then object 'sp_OACreate',database 'mssqlsystemresource',schema 'sys'给sql 相应的账号添加sysadmin角色 阅读全文
posted @ 2013-01-17 14:49 星火卓越 阅读(396) 评论(0) 推荐(0)
摘要:在SQL server 中删除用户失败时先将删除用户的步骤一步骤二修改删除用户fzx-team默认架构,将user架构修改为dbo修改后如下图步骤四删除数据库角色中所使用的删除用户中角色成员检查所有数据库角色中是否还有要删除所有角色中拥有的角色成员步骤五修改架构中架构所有者为dbo.检查所有架构是否已经存在所删除的用户 阅读全文
posted @ 2012-12-21 11:02 星火卓越 阅读(323) 评论(0) 推荐(1)