MS SQL 语法
文章平均质量分 85
tianlianchao1982
BI中的Intelligence不是专家系统中的智能概念,也不是机器智能的那种富有人脑能力的学习功能。这里的智能是指商业智能,就是说B和I不能分开谈的。商业智能,是为人(决策者)更方便,更快捷,更准确地提供决策信息,指导商业运作。那么ERP系统就不能提供这些信息吗?当然能,因为BI的数据来源就是ERP这样的业务系统,信息都在这些系统之中。但是普通业务系统能方便,快捷地提供数据吗?答案是否定的,为什么?因为这些业务系统的数据组织形式不是从用户看数据的角度设计的,而是从数据收集,数据操作的角度来设计
展开
-
SQL Server中timestamp(时间戳)
SQL Servertimestamp数据类型与时间和日期无关。SQL Servertimestamp是二进制数字,它表明数据库中数据修改发生的相对顺序。实现timestamp数据类型最初是为了支持 SQL Server 恢复算法。每次修改页时,都会使用当前的 @@DBTS 值对其做一次标记,然后 @@DBTS 加1。这样做足以帮助恢复过程确定页修改的相对次序,但是timestamp值与时间没转载 2010-05-04 14:06:00 · 834 阅读 · 0 评论 -
游标使用范例
declare @colname varchar(100)declare cu_cname cursor for select name from syscolumns where id=object_id(SH_data_1_ok)open cu_cnamefetch next from cu_cname into @colnamewhile @@fetch_status=0begin e转载 2010-05-10 14:23:00 · 472 阅读 · 0 评论 -
sql 创建全文索引
一个完整的SQL SERVER数据库全文索引的示例。(以pubs数据库为例)首先,介绍利用系统存储过程创建全文索引的具体步骤:1) 启动数据库的全文处理功能 (sp_fulltext_database)2) 建立全文目录 (sp_fulltext_catalog)3) 在全文目录中注册需要全文索引的表 (sp_fulltext_tabl转载 2010-05-10 14:18:00 · 966 阅读 · 0 评论 -
sql 时间触发
1月9日sql 时间触发if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[p_createjob]) and OBJECTPROPERTY(id, NIsProcedure) = 1) drop procedure转载 2010-05-10 14:22:00 · 726 阅读 · 0 评论 -
参数视图
就是函数: CREATE FUNCTION 名称(@编号 int) RETURNS table AS RETURN (select * from 表 where 编号=@编号) GO 调用: SELECT * FROM 名称(1) GO转载 2010-05-10 14:21:00 · 344 阅读 · 0 评论 -
sql code
1)禁止所有表约束的SQLselect alter table +name+ nocheck constraint all from sysobjects where type=U2)删除所有表数据的SQLselect TRUNCATE TABLE +name from sysobjects where type=U3)恢复所有表约束的SQLselect alter tabl转载 2010-05-10 14:20:00 · 393 阅读 · 0 评论 -
设置表的自增属性
set identity_insert main_comp off原创 2010-05-10 14:14:00 · 522 阅读 · 0 评论 -
讲解MSSQL数据库中SQL锁机制和事务隔离级别
锁机制 NOLOCK和READPAST的区别。 1. 开启一个事务执行插入数据的操作。 BEGIN TRAN t INSERT INTO Customer SELECT a,a 2. 执行一条查询语句。 SELECT * FROM Customer WITH (NOLOCK) 结果中显示"a"和"a"。当1中事务回滚后,那么a将成为脏数据。(注:1中的事务未原创 2010-05-11 10:08:00 · 907 阅读 · 0 评论 -
XML学习网址
http://tech.sina.com.cn/s/2006-09-19/09021146220.shtml原创 2010-07-02 08:52:00 · 550 阅读 · 0 评论 -
master..spt_values表
利用MASTER..SPT_VALUES提取两个日期之间的日期列表2009-11-03 23:47假设 table 中有一条数据: Id DateStart DateEnd 1 2002-4-1 2009-9-10提取DateStart到DateEnd之间的年月列表实现方法:DECLARE @BDATE DATETIME,@EDATE DATETIME--声明转载 2010-05-13 09:34:00 · 5208 阅读 · 0 评论 -
DDL,DML,DCL,TCL四种语言的简介
1.DDL(<a onclick="function onclick(){tagshow(event, Data);}" href="javascript:;" target="_self">Data Definition Language)<a onclick="function onclick(){tagshow(event, %CA%FD%BE%DD%BF%E2转载 2010-05-12 09:10:00 · 899 阅读 · 0 评论 -
相关子查询和嵌套子查询 [SQL Server]
SQLServer子查询可以分为 相关子查询 和 嵌套子查询 两类。前提,假设Books表如下:类编号 图书名 出版社 价格--------------------------------------------------------2 c#高级应用 圣通出版 23.002 Jsp开转载 2012-07-04 16:58:33 · 1378 阅读 · 0 评论 -
学习SQLServer: 设置QUOTED_IDENTIFIER
使用系统向导一般自动带入这些设置语句语法 SET QUOTED_IDENTIFIER { ON | OFF }1使 SQL Server 遵从关于引号分隔标识符和文字字符串的 ISO 规则。2 当 SET QUOTED_IDENTIFIER 为 ON (默认)时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 SETQUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,转载 2012-07-06 16:14:35 · 596 阅读 · 0 评论 -
清除SQL Server数据缓存和执行计划缓存,查看执行计划的各种方式对比
<br />清除数据和执行计划缓存:<br />DBCC DROPCLEANBUFFERS<br />DBCC FREEPROCCACHE<br />打开统计数据:<br /><br />SETSTATISTICSIOON<br />SETSTATISTICSTIMEON<br />打开执行计划:<br />SET SHOWPLAN_TEXT ON<br />SET SHOWPLAN_ALL ON<br />SET STATISTICS PROFILE ON<br />SET SHOWPLAN_XML ON转载 2010-06-21 17:12:00 · 1672 阅读 · 0 评论 -
断字符和词干分析器
断字符和词干分析器<br /> <br />断字符和词干分析器用于对所有全文索引数据执行语言分析。语言分析将涉及到查找词边界(断字)和组合动词(词干分析)。断字符和词干分析器是特定于语言的,并且各语言的语言分析规则也各不相同。对于给定语言,“断字符”通过根据语言的词法规则确定词的边界位置来标识各个词。每个词(也称为“标记”)使用压缩表示形式插入全文索引以减少其大小。“词干分析器”根据该语言的规则生成特定词的变形形式(例如,“running”、“ran”和“runner”是单词“run”的不同形式)。<br翻译 2010-08-12 10:30:00 · 1735 阅读 · 0 评论 -
无法使用 SELECT INTO 语句向表 '#tb' 中添加标识列,该表中已有继承了标识属性的列 'ID'。
无法使用 SELECT INTO 语句向表 '#tb' 中添加标识列,该表中已有继承了标识属性的列 'ID'。“无法使用 SELECT INTO 语句向表 '#tb' 中添加标识列,该表中已有继承了标识属性的列 'ID'。”<br />这个错误的。不管索引情况如何。<br />不管如何。你碰到这种有自增id的源表要想插入到有自增id的表中时,将源表的自增列属性转换了就可以了。例如:<br />select nid=identity(int,0,1),convert(int,id) as id into #转载 2010-06-08 17:14:00 · 1806 阅读 · 0 评论 -
禁用约束
<br />ALTER TABLE abcd NOCHECK CONSTRAINT ALL原创 2010-07-09 17:03:00 · 617 阅读 · 0 评论 -
SQl数据库快速入门必须掌握的四大基本语句
做一个系统的后台,基本上都少不了增删改查,作为一个新手入门,我们必须要掌握<a onclick="function onclick(){tagshow(event, SQL);}" href="javascript:;" target="_self">SQL四条最基本的数据操作语句:Insert,Select,Update和Delete! 下面对这四个语句进行详细的剖析:转载 2010-05-12 09:14:00 · 1035 阅读 · 1 评论 -
SQL跨服查询
今日产品部要导批数据,但是需要连接查询查询的几个表不在同一<a onclick="function onclick(){tagshow(event, %B7%FE%CE%F1%C6%F7);}" href="javascript:;" target="_self">服务器上。所以我开始是这么干的:1.查询一台服务器的数据,并导入本地Excel2.查询另一台服务器的数据,并导转载 2010-05-12 09:12:00 · 741 阅读 · 0 评论 -
查询处理的逻辑顺序
(8) select (9) [Distinct](11) [Top n] 返回结果列表 [into 新表名称](1) from 表(3) [Inner | left | right] join 表 (2) on (4) [where ](5) [Group by ](6) [with {cube | rollup}](7) Having (10) order转载 2010-05-06 11:00:00 · 435 阅读 · 0 评论 -
清空压缩数据表
scriptstruncate DBCC SHOWCONTIG(Part_Email) ALTER TABLE [新华信_行业代码(全)] REBUILD WITH (DATA_COMPRESSION = row)原创 2010-05-06 09:46:00 · 398 阅读 · 0 评论 -
MSSQL添加字段说明
--字段添加说明EXEC sp_addextendedproperty MS_Description, 要添加的说明, user, dbo, table, 表名, column, 列名 --删除字段说明EXEC sp_dropextendedproperty MS_Description, user, dbo, table, 表名, column, 字段名转载 2010-05-06 09:47:00 · 410 阅读 · 0 评论 -
关于使用表接收存储过程返回结果集的问题
如果要使用一张表接收一个存储过程返回的一个结果集的话使用下面的语句就OK了:INSERT INTO #TABLENAMEEXEC [DBName].[OwnerName].[SPNAME]GO原创 2010-05-06 09:34:00 · 392 阅读 · 0 评论 -
varchar,nvarchar,sysname数据类型
varchar可变长度的非unicode字符串 ,最大长度8000字节nvarchar可变长度的unicode字符串 ,最大长度4000字节sysname这是系统定义的用户数据类型,(sql server支持用户自定义数据类型,这个类型就是系统定义的用户数据类型)它相当于nvarchar(128)nvarchar存储unicode字符串,任何字符都用两个字节来存储。varchar存储英文时用转载 2010-05-04 14:09:00 · 1063 阅读 · 0 评论 -
sql server sysobjects xtype类型
xtype 代表类型C = CHECK 约束D = 默认值或 DEFAULT 约束F = FOREIGN KEY 约束L = 日志FN = 标量函数IF = 内嵌表函数P = 存储过程PK = PRIMARY KEY 约束(类型是 K)RF = 复制筛选存储过程S = 系统表TF = 表函数TR = 触发器U = 用户表UQ = UNIQUE 约束(类型是 K)V = 视图转载 2010-05-04 13:54:00 · 468 阅读 · 0 评论 -
SQL Server 2008 对 T-SQL 语言的增强
Microsoft SQL Server 2008 对 T-SQL 语言进行了进一步增强。为了让开发人员尽快了解这些变化,我们针对 2007 年 6 月 CTP 版本的 SQL Server 2008 中的 T-SQL 语言的新增功能进行了分析和尝试。本文描述自 SQL Server 2008 CTP1 以来这些语言增强和变化。 本文包含如下内容: · T-SQL 行构造器 ·转载 2010-05-04 14:19:00 · 492 阅读 · 0 评论 -
SQL Server中的行列倒置技巧
行列倒置在sql server中是一种很常见的技巧,在做应用系统的时候,经常需要做一些统计功能避免不了使用行列倒置这个技巧,我小小的做了一下总结: 第一种:sql server 2000中使用case进行行列倒置 create table RowCellConvertTest( grade varchar(50), sex varchar(50), studentCount int)goi转载 2010-05-04 14:13:00 · 1314 阅读 · 1 评论 -
SQL Server存储过程中raiserror的使用
一 系统预定义错误代码 SQL Server 有3831个预定义错误代码,由master.dbo.sysmessages表维护。每一个错误代码都有相应的级别和描述。错误定义的级别从0到25。20以上的错误代表重大错误,通常意味着该错误会导致存储进程立刻终止,并且所有的客户连接都要重新初始化。非关键性错误只是禁止掉当前运行的程序行,并继续执行。 判断错误是否发生和得到错误描述信息的方法:原创 2010-05-04 14:12:00 · 829 阅读 · 0 评论 -
SQL中escape的主要用途
使用 ESCAPE 关键字定义转义符。 在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,请使用: WHERE ColumnA LIKE %5/%% ESCAPE / 2.ESCAPE escape_character 允许在字符串中搜索通配符而不是将其作为通配符使用。 escape_character 是放在通配符前表示此转载 2010-05-04 14:05:00 · 618 阅读 · 0 评论 -
SQL查表名、字段名、表说明、字段说明
SQL 查看所有表名: select name from sysobjects where type=U 查询表的所有字段名: Select name from syscolumns Where ID=OBJECT_ID(表名) select * from information_schema.tables select * from information_schema.view转载 2010-05-06 09:47:00 · 622 阅读 · 0 评论 -
在SqlServer中用自定义函数返回动态表内容
说明:在SupplyPlan表中,存储着每一个RequestQty及其对应的开始终止日期段;因为我在以后处理中要判断当前天属于哪一条RequestQty的日期区间并进行处理,所以后台数据库只能设计成这种存储形式;但是在页面的显示时候,需要动态的根据每一个SupplyPlanNo生成对应的多条日期区段及其数量显示,所以采用自定义函数形式返回处理以后的动态记录集!返回的字段@AllRequestQty转载 2010-05-06 09:48:00 · 1310 阅读 · 0 评论 -
SQL 中 Delete、Truncate、Drop 的异同
相同点: truncate 和不带 where 子句的 delete,以及 drop 都会删除表内的数据 不同点: 1. truncate 和 delete 只删除数据不删除表的结构(定义) drop 语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index);依赖于该表的存储过程/函数将保留,但是变为 invalid 状态。 2. dele转载 2010-05-06 10:58:00 · 389 阅读 · 0 评论 -
CONTAINS和FREETEXT
SQL Server 2000提供的全文检索语句主要有CONTAINS和FREETEXT。CONTAINS语句的功能是在表的所有列或指定列中搜索:一个字或短语;一个字或短语的前缀;与一个字相近的另一个字;一个字的派生字;一个重复出现的字。 CONTAINS语句的语法格式为: CONTAINS({column | *}), ) 其中,column是搜索列,使用“*”时说明对表中所有全文索引列进行搜索转载 2010-05-06 09:48:00 · 1230 阅读 · 0 评论 -
时间格式转换函数
-- =======================CONVERT()================================================== Select CONVERT ( varchar ( 100 ), GETDATE (), 0 ) -- : 05 16 2006 10:57AMSelect CONVERT ( varchar ( 100 ), GETDA转载 2010-05-06 09:40:00 · 433 阅读 · 0 评论 -
SQL Server DATEDIFF() 函数
定义和用法DATEDIFF() 函数返回两个日期之间的天数。 语法DATEDIFF(datepart,startdate,enddate)startdate 和 enddate 参数是合法的日期表达式。 datepart 参数可以是下列的值: datepart缩写 年yy, yyyy 季度qq, q 月mm, m 年中的日dy, y 日dd, d 周转载 2010-05-06 09:33:00 · 362 阅读 · 0 评论 -
视图更新
可更新的视图只要满足下列条件,即可通过视图修改基础基表的数据:任何修改(包括 UPDATE、INSERT 和 DELETE 语句)都只能引用一个基表的列。视图中被修改的列必须直接引用表列中的基础数据。不能通过任何其他方式对这些列进行派生,如通过以下方式:聚合函数:AVG、COUNT、SUM、MIN、MAX、GROUPING、STDEV、STDEVP、VAR 和 VARP。计算。不能原创 2010-05-06 11:05:00 · 876 阅读 · 0 评论 -
grouping sets && grouping_id
select sex,age,mobile_type,COUNT(1) num,grouping_id(sex,age,mobile_type) from per_rain..sht1126 group by grouping sets((),(sex),(sex,age,mobile_type))order by grouping_id(sex,age,mobile_type) desc原创 2010-05-06 11:04:00 · 665 阅读 · 0 评论 -
全文索引的用法
select Comp_Nme from AllData where contains(Comp_Nme,科_技)contains(Comp_Nme,科 near 技)contains(Comp_Nme,科 or 技)contains(Comp_Nme,科 _技)contains(Comp_Nme,科 *技)原创 2010-05-06 11:03:00 · 358 阅读 · 0 评论 -
利用同义词简化SQL Server 2005开发
一. 引言 如果你曾经使用SQL Server开发过任何软件,那么你肯定会习惯于使用四部分标识符来参考一个对象:[[[server.][database].][schema_name].]object_name 正如上面的方括号所显示的,该语法的不同部分可以被忽略,只要你提供足够的表达来无二义地标识你的对象即可。例如,下面所有这些表达都可能参考相同的对象:转载 2010-05-06 10:59:00 · 346 阅读 · 0 评论 -
SQL SERVER 分页
SQL SERVER2012在ORDER BY 子句中加入了新元素offset,允许用户在排序完成的结果集中自定义输出行范围,大大简化了分页SQL的书写方式和效率。以下是与以前的两种分页方式的简单对比SQL codeuse mastergoset nocount ongoset showplan_text ongo--2012的OFFSET分页方式select number原创 2012-07-04 16:32:13 · 355 阅读 · 0 评论