- Posted by Admin on 三月 11, 2010
Sql代码
select * into target_table from source_table;
insert into target_table(column1,column2) select column1,5 from source_table;
select * into target_table from source_table;
insert into target_table(column1,column2) select column1,5 from source_table;
以上两句都是将源表s...
[更多...]
- Posted by Admin on 三月 11, 2010
Sql代码
select * into target_table from source_table;
insert into target_table(column1,column2) select column1,5 from source_table;
select * into target_table from source_table;
insert into target_table(column1,column2) select column1,5 from source_table;
以上两句都是将源表...
[更多...]
- Posted by Admin on 三月 11, 2010
--开始事务
BEGIN TRAN
--不显示计数信息
SET NOCOUNT ON
DECLARE @UserID varchar(512)
DECLARE @a int
set @a=10000
--声明游标
DECLARE CRMPSContact_cursor CURSOR FOR
SELECT [UserID] FROM [gmcc].[dbo].[cvv_Users]
--打开游标
OPEN CRMPSContact_cursor
--取第一行的值给变量
FETCH NEXT FROM CRMPSContac...
[更多...]
- Posted by Admin on 三月 11, 2010
declare cur cursor
read_only
for select PName from Point
declare @name varchar(40)
open cur
fetch next from cur into @name
while (@@fetch_status =0)
begin
print @name
fetch next from&n...
[更多...]
- Posted by Admin on 二月 15, 2010
作者: Fenng | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
网址: http://www.dbanotes.net/database/database_event_2009.html
简要回顾一下 2009 年数据库技术领域。过去的一年,差不多也可以说是过度的一年,数据库技术以及数据存储产品等都都或多或少发生一些方向上的转变。
Oracle 收购 Sun,MySQL 前途未卜
Oracle 收购 Sun 可谓一波三折。在获得美国司法部门的批准后,欧盟委员会又开始调查,Oracle 随后抛出一个"十条保证",眼看着...
[更多...]
- Posted by Admin on 一月 26, 2010
Sql Server 中一个非常强大的日期格式化函数
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): ...
[更多...]
- Posted by Admin on 一月 25, 2010
UPDLOCK.UPDLOCK 的优点是允许您读取数据(不阻塞其它事务)并在以后更新数据,同时确保自从上次读取数据后数据没有被更改。当我们用UPDLOCK来读取记录时可以对取到的记录加上更新锁,从而加上锁的记录在其它的线程中是不能更改的只能等本线程的事务结束后才能更改,我如下示例:BEGIN TRANSACTION --开始一个事务SELECT Qty FROM myTable WITH (UPDLOCK) WHERE Id in (1,2,3)
我做了一个测试:
在一个查询里写
begin tran
select * from address WITH (UPDLOCK...
[更多...]
- Posted by Admin on 一月 6, 2010
启动:net start mssqlserver
暂停:net pause mssqlserver
重新启动暂停的SQL SERVER:net continue mssqlserver
停止:net stop mssqlserver
- Posted by Admin on 十二月 15, 2009
select cast(year(getdate()) as char(4))+'年'+cast(month(getdate()) as char(2))+'月'+cast(day(getdate()) as char(2))+'日'
- Posted by Admin on 十二月 15, 2009
在日常工作中,时不时会遇到一个已在线的产品的数据库出现性能问题,如访问速度太慢甚至是无法打开的问题,通过相关工具查看数据往往会见到锁太多,服务器的 cup , 内存占用过大的情况,这时候就需要做些优化工作了。以下是我所总结的几种方法,还有什么好的办法,希望得到大家的指教。
1. 静态化。 对于过于访问频繁的页面我们可以考虑使用静态化,静态化包括整个页面静态化和数据静态化。整个页面静态化这个好理解;数据静态化就是将与 数据库返回的数据形成文件然后保存到 XML 之类的文件中,每次访问读的是 XML 文件数据,静态数据生成时机 一般采用的是 访问...
[更多...]
- Posted by Admin on 十二月 15, 2009
SQLServer 中的回车符与换行符
制表符:CHAR(9) 换行符:CHAR(10) 回车符:CHAR(13)
1、将 varchar 值作为条件,查询Where Id in 列表的值
declare @a varchar ( 100 )
set @a = ' 56,58 '
-- 正确的:
select * from tb where charindex ( ' , ' + ltrim (id) + ' , ' , ' , ' + @a +...
[更多...]
- Posted by Admin on 十二月 15, 2009
SQL的自增列挺好用,只是开发过程中一旦删除数据,标识列就不连续了 写起来 也很郁闷,所以查阅了一下标识列重置的方法 发现可以分为三种:
--- 删除原表数据,并重置自增列
truncate table tablename --truncate方式也可以重置自增字段
--重置表的自增字段,保留数据
DBCC CHECKIDENT (tablename,reseed,0)
-- 设置允许显式插入自增列
SET IDENTITY_INSERT tablename ON
-- 当然插入完毕记得要设置不允许显式插入自增列
SET IDENTITY_...
[更多...]
- Posted by Admin on 十二月 5, 2009
0 或 100 (*) 默认值 mon dd yyyy hh:miAM(或 PM)
1 101 美国 mm/dd/yyyy
2 10...
[更多...]
- Posted by Admin on 十月 30, 2009
个人觉得写的不错,但忘了是从哪里摘来的了。在以下的文章中,我将以“办公自动化”系统为例,探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页。以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构:CREATE TABLE [dbo].[TGongwen] ( --TGongwen是红头文件表名 [Gid] [int] IDENTITY (1, 1) NOT NULL ,--本表的id号,也是主键 [title] [varc...
[更多...]
- Posted by Admin on 十月 27, 2009
理论性的东西,往往容易把人人都看得懂的东西写成连鬼都看不懂,近似于主任医生开的药方。从前学范式的时候,把书中得概念翻来覆去看,看得痛心疾首深恶痛绝,再加上老师深切误导,最后一塌糊涂。借助网络资源,自己写了一篇,自己是看懂了,希望对大家也有所帮助,有错误帮忙指正。
数据库范式(Normal forms):是用于规范关系型数据库设计,以减少谬误发生的一种准则。
1NF(first normal form):
Table faithfully represents a relation and ha...
[更多...]
- Posted by Admin on 十月 26, 2009
过程一:
select top N条记录 * from 文章表 where id not in(select top M条记录 id from 文章表 order by id desc ) order by id desc
过程二:
select top N条记录 * from 文章表 wher...
[更多...]
- Posted by Admin on 十月 4, 2009
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_WorkDay]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[f_WorkDay]
GO
--计算两个日期相差的工作天数
CREATE FUNCTION f_WorkDay(
@dt_begin datetime, --计算的开始日期
@dt_end datetime ...
[更多...]
- Posted by Admin on 九月 28, 2009
在WEB开发中经常需要重启IIS,每次打开IIS来操作很麻烦,所以我干脆就在桌面新增了一个CMD文件,内容如下:(SQL Server占的内存不少)
net stop iisadmin /y
net start w3svc
net stop mssqlserver
net start mssqlserver
每次需要重启IIS和SQL Server就直接双击CMD文件就可以,是不是很方便?
- Posted by Admin on 八月 10, 2009
1、SQL语句的编码检验常用的策略(1)尽可能地减少多表查询或建立物化视图;(2)以不相关子查询替代相关子查询;(3)只检索需要的列;(4)用带IN的条件子句等价替换OR子句;(5)经常提交COMMIT,以尽早释放锁;2、表设计评价在设计阶段,关系模式的设计应当符合3NF或BCNF,目的是为了减少数据冗余和消除操作异常。在数据库运行过程中,需要根据实际情况对表进行调整,调整的原则是:(1)如果频繁地访问涉及的是对两个相关的表进行连接操作,则考虑将其合并;(2)如果频繁地访问只是在表中的某一部分字段上进行,则考虑分解表,将该部分单独作为一个表;(3)对于很少更新的表引入物化视图。3、索引改进索引...
[更多...]
- Posted by Admin on 八月 5, 2009
电脑上安装了sql server 2005,现在想换回SQL2000来,把数据库文件备份后,在SQL 2000中导入备份文件时提示“已备份数据库的磁盘上结构版本为611. 服务器支持版本539, 无法还原或升级此数据库,RESTORE DATABASE 操作异常终止。” 在网上找了很多方法,都是要安装SQL server 2005 导入备份文件,再通过脚本导出数据到SQL 2000, 但是有一个最大的问题就是,安装SQL server 2005 花的时间太长了,我上次安装的时候,足足花了几个小时才安装好。这下舒服了,刚刚才把SQL 2005删除了,现在又得重新...
[更多...]
- Posted by Admin on 七月 29, 2009
近日公司网站发现有无聊人进行SQL注入攻击,在这里曝曝光,在鄙视那些无聊之人无聊之举的同时,望大家提高安全意识。日志记录内容是这样的Url:/(x(1)a(eq2io1uyygekaaaanwqxmge4ywytzwy5yi00ytbjlwjlmdatotllmtlmodaym2m5lcndikok9dche5rd2s_rxyhp43i1))/production/prodetail.aspx。SQL注入攻击:e7fa47d3-5822-486f-a148-a77b8fd3802f;dEcLaRe @s vArChAr(8000) sEt @s=0x4465636c61726520405420...
[更多...]
- Posted by Admin on 七月 29, 2009
可以在生产环境中使用所有版本的 SQL Server 2005,但 SQL Server 2005 Developer Edition 和 SQL Server 2005 Evaluation Edition 除外。以下段落介绍 SQL Server 2005 的多个版本。SQL Server 2005 Enterprise Edition(32 位和 64 位) Enterprise Edition 达到了支持超大型企业进行联机事务处理 (OLTP)、高度复杂的数据分析、数据仓库系统和网站所需的性能水平。Enterprise Edition 的全面商业智能和分析能力及其高可用性功能(如故障转...
[更多...]
- Posted by Admin on 七月 27, 2009
SQL server 2005转换为SQL server 2000的方法(以BlogEngine为例)直接restore或附加应该是不行的, 用脚本+导数据肯定没有问题。 SQL server 2005转换为SQL server 2000的步骤 1. 生成for 2000版本的数据库脚本SQL Server 2005 的manager studio -- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例 -- 右键要转到2000的库 -- 任务 -- 生成脚本 -- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到20...
[更多...]
- Posted by Admin on 七月 20, 2009
一、页面(Page)和盘区(Extent):Sql Server2000中所有的信息都存储在页面上,除了事务日志(事务日志是由一系列记录组成的)页面是数据库中使用的最小数据单元,每个页面存储8K的信息。Sql Server2000中有以下几种类型的页面: 数据页面:用于存储数据库数据,但不包括text,ntext,image类型的数据 索引页面:用于存储索引数据 文本/图像页面:用于存储text,ntext,image类型的数据 全局分配页面:用于存储盘区分配的信息 页面剩余空间页面:用于存储页面剩余空间的信息 索引分配页面:用于存储页面被表或索引使用的盘区的信息。盘区是由8个连续页面组成的数...
[更多...]
- Posted by Admin on 七月 4, 2009
下列语句部分是Mssql语句,不可以在access中使用。
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql ser...
[更多...]
- Posted by Admin on 六月 24, 2009
本文是《SQL Server 2005 高级程序设计》, Professional SQL Server 2005 Programming – 第六章:高级查询的学习笔记。主要包含如下内容:1. 嵌套的子查询;2. 相关子查询;3. 派生表;4. EXISTS 运算符的使用; 大部分的子查询(当然不是全部)也能够用联接(Join)来实现,关于联接和子查询的性能比较,需要具体分析。本文所有的范例SQL 脚本使用AdventureWorks 数据库。 1. 构建嵌套的子查询嵌套的子查询(nested subquery) - 要么返回一个用于外部查询的值,要么返回一个...
[更多...]
- Posted by Admin on 六月 12, 2009
说明:鉴于目前情况,我认为在公司的开发和集成项目中有必要使用或部分使用开源平台,而不需要固定地使用D版Windows+SQLServer,因此花了一天时间写了这份可行性分析,请大家帮忙看看有什么错误或补充的,是否有必要提交给上层。说句过河拆桥的话:痛恨D版,希望国家加大打击力度。 关于在项目中使用开源OS/DB系统的可行性分析名词注释:OS:操作系统(Operating System),目前主流的商业操作系统有Windows系列和Unix系列,Windows系统的客户端版和服务器版价格相差较大,比如客户端Windows Xp只需几百到上千元,但Windows&nb...
[更多...]
- Posted by Admin on 四月 26, 2009
连到master这个数据库
写如下语句
select * from sysprocesses where dbid in
(select dbid from sysdatabases where name='CoachMag')
将所有连接CoachMag这个数据库的连接记录都求出来。
sysprocesses这个表记录所有连接到SQL SERVER数据库的连接。
如果是查看某用户的连接则用,如查看sa的连接数:sp_who 'sa'
- Posted by Admin on 四月 9, 2009
如果您在安装sql 2005时出现计数器错误,在搜索过所有的方法都不适用的时候:没有说清楚是哪个计数器的错误 运行 cmd unlodctr w3svc unlodctr msftpsvc unlodctr asp unlodctr inetinfo 以上是将4个计数器删除 lodctr w3ctrs.ini lodctr ftpctrs.ini lodctr axperf.ini lodctr infoctrs.ini 这里是重新安装, 重新安装SQL2005现在应该没有问题了
- Posted by Admin on 三月 11, 2009
一般来说,对于做B/S架构的朋友来说,更有机会遇到高并发的数据库访问情况,因为现在WEB的普及速度就像火箭升空,同时就会因为高访问量带来一系列性能问题,而数据库一直是用户与商人之间交流的重要平台.用户是没有耐心忍受一个查询需要用上10秒以上的,或者更少些,如果经常出现服务器死机或者是报查询超时,我想那将是失败的项目。做了几年的WEB工作,不才,一直没有遇到过大访问量或者是海量数据的情况.这里并不是说没有海量数据的项目就不是好项目,要看项目的应用场合.
最近做项目时,偶然得到了这个机会,在我工作过程中,...
[更多...]
- Posted by Admin on 二月 20, 2009
有些程序员在撰写数据库应用程序时,常专注于 OOP 及各种 framework 的使用,却忽略了基本的 SQL 语句及其「性能 (performance) 优化」问题。版工曾听过台湾某半导体大厂的新进程序员,所组出来的一段 PL/SQL 跑了好几分钟还跑不完;想当然尔,即使他的 AJAX 及 ooxx 框架用得再漂亮,系统性能也会让使用者无法忍受。以下是版工整理出的一些数据库规划、SQL performance tuning 简单心得,让长年钻研 .NET、AJAX、一堆高深 ooxx framework,却无暇研究 SQL statement 的程序员,透过最短时间对本帖的阅读,能避免踩...
[更多...]
- Posted by Admin on 二月 17, 2009
如果你正在负责一个基于SQL Server的项目,或者你刚刚接触SQL Server,你都有可能要面临一些数据库性能的问题,这篇文章会为你提供一些有用的指导(其中大多数也可以用于其它的DBMS)。
在这里,我不打算介绍使用SQL Server的窍门,也不能提供一个包治百病的方案,我所做的是总结一些经验----关于如何形成一个好的设计。这些经验来自我过去几年中经受的教训,一直来,我看到许多同样的设计错误被一次又一次的重复。
一、了解你用的工具
不要轻视这一点,这是我在这篇文章中讲述的最关键的一条。也许你也看到有很多的SQL Server程序员没有掌握全部的T-...
[更多...]
- Posted by Admin on 二月 17, 2009
Transact_SQL小手册
*******************Transact_SQL********************
--语 句 功 能
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库...
[更多...]
- Posted by Admin on 二月 17, 2009
介绍:在数据库的开发过程中,经常会遇到复杂的业务逻辑和对数据库的操作,这个时候就会用SP来封装数据库操作。如果项目的SP较多,书写又没有一定的规范,将会影响以后的系统维护困难和大SP逻辑的难以理解,另外如果数据库的数据量大或者项目对SP的性能要求很,就会遇到优化的问题,否则速度有可能很慢,经过亲身经验,一个经过优化过的SP要比一个性能差的SP的效率甚至高几百倍。
内容:
1、开发人员如果用到其他库的Table或View,务必在当前库中建立View来实现跨库操作,最好不要直接使用“databse.dbo.table_name”,因为sp_depen...
[更多...]
- Posted by Admin on 二月 17, 2009
摘要:简要介绍了SQL注入式攻击的原理。在前人提出的“对用户输入信息实施过滤”的技术基础上,建立了一个针对SQL注入攻击的检测/防御/备案通用模型。该模型在客户端和服务器端设置两级检查。对于一般性用户误操作和低等级恶意攻击,客户端的检查将自动做出反应;考虑到客户端检查有可能被有经验的攻击者绕开,特在服务器端设定二级检查。在文中还提出了对高等级恶意攻击的自动备案技术,并给出了相应代码。
关键词:系统安全;SQL Server;SQL注入攻击;IDS检测;DDL模型
互联网上的安全问题越来越严重,入侵检测(IDS)也因而显得尤为必要。MSSQLS...
[更多...]
- Posted by Admin on 二月 17, 2009
此方法只是教您如何还原数据库,你只能在本机上使用,不能在服务器上使用
注意:
1、当数据库备份还原后,所有当前数据库备份之后新产生的数据都会丢失。
2、基于安全的原因,你是不能够对服务器上的数据库进行还原的.你只可以对你本机的数据库进行还原.
3、你没有权限还原服务器上的数据库,替代的方法是 使用 "数据库导入导出" 这样你在本机上就可以操作.
4、这篇文档只是供大家学习一下本机上数据库还原的操作. 平常数据库维护中一般会用到的.
首先登录到远程数据库服务器:
1. 打开SQL Serve...
[更多...]
- Posted by Admin on 二月 17, 2009
下列语句部分是MsSql语句,不可以在access中使用。
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql serve...
[更多...]
- Posted by Admin on 二月 17, 2009
问题:
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
背景:
之前停掉了所有的SQL2005相关服务,想再次启用SQL2005服务时,只启用了SQL Server(SQL2005)。本地连接数据库正常,局域网内其他机器欲连接时出现此错误。
解决:
启用 SQL Server Browser 服务。