数据库技术
dyufei
这个作者很懒,什么都没留下…
展开
-
SQL 数据类型转换 总结
1、数据类型转换: (1)两种转换场合: A:当两个结果集之间的数据进行比较或联和(union)的时候,如果两个结果集的数据类型不同时必须进行转换。 B:将Transact-SQL 得结果集返回给程序中的变量时,须将结果集的类型从SQL Server数据类型转换为变量的数据类型。 (2)两种转换方式: A:自动进行的隐性转换(对于用户是不可见的)。 如:一个 sma原创 2009-11-10 17:05:00 · 2306 阅读 · 0 评论 -
SQL中的变量
变量局部变量是可以保存单个特定类型数据值的对象,变量的作用域从声明变量的地方开始到声明变量的批处理或存储过程的结尾。局部变量使用DECLARE语句定义,并且指定变量的数据类型,然后可以使用SET或SELECT语句为变量初始化;局部变量必须以“@”开头,而且必须先声明后使用。声明格式: DECLARE @变量名 变量类型[,@变量名 变量类型…](1)变量名必须以 at原创 2009-11-17 16:31:00 · 446 阅读 · 0 评论 -
SQL Server 2005连接 错误error:40错误
error:40错误原因是因为 SQL Server2005 默认的设置为不允许远程连接,就会导致此失败。 提示:provider:命名管道提供程序, error:40-无法打开到 SQL Server 的连接)。实例(默认是“SQLEXPRESS”方法:A:开始->配置工具->SQL Server 外围应用配置器->服务和连接外围应用配置器B:选database Engine的“原创 2009-11-08 00:14:00 · 406 阅读 · 0 评论 -
存储过程(三)存储过程的修改与删除
修改存储过程修改先前通过执行 CREATE PROCEDURE 语句创建的过程。ALTER PROCEDURE 不会更改权限,也不影响相关的存储过程或触发器。但是,当修改存储过程时,QUOTED_IDENTIFIER 和 ANSI_NULLS 的当前会话设置包含在该存储过程中。如果设置不同于最初创建存储过程时有效的设置,则存储过程的行为可能会更改。语法:ALTER { PROC | P原创 2009-12-02 17:41:00 · 1074 阅读 · 0 评论 -
判断SELECT 所影响的行数
1、判断SQL中SELECT语句所影响的行数 首先看看ExecuteNonQuery()与ExecuteNonQuery()的返回值。 SqlCommand.ExecuteNonQuery()方法仅对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1Sql原创 2012-09-19 21:21:09 · 325 阅读 · 0 评论 -
COMPUTE 和COMPUTE BY
GROUP BY子句返回的结果集中只有合计数据,而没有原始的详细记录。COMPTE生成合计作为附加的汇总列出现在结果集的最后。当与BY一起使用时,COMPUTE子句在结果集内生成控制中断和分类汇总。compute by 的规则:(1)不能将distinct与行统计函数一起使用(2)compute by中列出的列必须出现在选择列表中(3)不能在含有comput原创 2012-09-19 20:55:29 · 770 阅读 · 0 评论 -
SQL 中ROLLUP 用法 (ROLLUP 与CUBE区别)
ROLLUP运算符生成的结果集类似于 CUBE运算符生成的结果集。下面是CUBE和 ROLLUP之间的具体区别:CUBE生成的结果集显示了所选列中值的所有组合的聚合。ROLLUP生成的结果集显示了所选列中值的某一层次结构的聚合。ROLLUP 优点:(1)ROLLUP返回单个结果集,而 COMPUTE BY返回多个结果集,而多个结果集会增加应用原创 2012-09-19 21:01:44 · 502 阅读 · 0 评论 -
SQL 控制流程
Transact-SQL 提供了(BEGIN...END、BREAK、GOTO、CONTINUE、IF...ELSE、WHILE、RETURN、WAITFOR)控制流关键字,用于控制 Transact-SQL 语句、语句块、用户定义函数以及存储过程的执行流。不使用控制流语言,则各 Transact-SQL 语句按其出现的顺序分别执行。控制流语言使用与程序设计相似的构造使语句得以互相连接、关联和原创 2009-11-17 15:18:00 · 377 阅读 · 0 评论 -
用公共表达式 实现递归查询
公用表表达式 (CTE) 具有一个重要的优点,那就是能够引用其自身,从而创建递归 CTE。递归 CTE 是一个重复执行初始 CTE 以返回数据子集直到获取完整结果集的公用表表达式。递归查询通常用于返回分层数据(即遍历树结构) 递归 CTE 的结构(MSDN)递归 CTE 由下列三个元素组成:例程的调用。 递归 CTE 的第一个调用包括一个或多个由 UNION ALL、U原创 2009-11-16 11:44:00 · 541 阅读 · 1 评论 -
T-SQL 中获取错误信息
在 Transact-SQL 中两种获取错误信息的方式(1)在 TRY...CATCH 构造的 CATCH 块的作用域内,使用以下系统函数: ERROR_LINE(),返回出现错误的行号。 ERROR_MESSAGE(),返回将返回给应用程序的消息文本。该文本包括为所有可替换参数提供的值,如长度、对象名或时间。原创 2009-11-23 16:25:00 · 2456 阅读 · 0 评论 -
存储过程(一) 基本概念
存储过程就是已经编译好的、优化过的放在数据库服务器中的一些SQL语句;可供应用程序直接调用。存储过程存储过程特点:(1)接受输入参数并以输出参数的格式向调用过程或批处理返回多个值。 (2)包含用于在数据库中执行操作(包括调用其他过程)的编程语句。 (3)向调用过程或批处理返回状态值,以指明成功或失败(以及失败的原因)。 (4)可以使用 Transact-SQL EXECUTE原创 2009-12-01 15:23:00 · 451 阅读 · 0 评论 -
sql2005 error: 26 - 定位指定的服务器/实例时出错
provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错 可能原因如下: A.数据库引擎没有启动,启动数据库引擎 两种启动方法:(1)开始->程序->MicrosoftSQL Server 2005->SQL Server 2005外围应用配置器->服务的连接的外围应用配置器->Database Engine->服务。单击右原创 2009-11-01 23:18:00 · 901 阅读 · 0 评论 -
GROUPING 用法
GROUPING是一个聚合函数,用在含有CUBE 或 ROLLUP 语句的SQL语句中,当结果集中的数据行是由CUBE 或 ROLLUP 运算产生的(添加的)则该函数返回1,否则返回0。 语法: GROUPING ( column_name ) 其中 column_name 是用在CUBE 或 ROLLUP 运算的列 或group by 后的列。 注意: (1)只有使用了CUBE原创 2009-11-12 15:02:00 · 1256 阅读 · 0 评论 -
SQL 中GROUP BY 总结
GROUP BY 子句用来对指定的字段做分组,产生一个汇总信息。 (1)group by语句对select后所选择的字段有一定的限制,即select后没有使用聚合函数的字段必须包含在group by 语句后面的结果集中。(GROUP BY 关键字后跟一个列的列表,称为组合列). (2)不能对数据类型为 ntext、text、image 或 bit 的列使用 GROUP BY 或 HAVING语原创 2009-11-10 04:34:00 · 1335 阅读 · 0 评论 -
存储过程(二) 存储过程语法
一、语法 CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ { @parameter [ type_schema_name. ] data_type } [ VARYING ] [ = default ] [ OUT | OUTPUT ] ] [ ,...n ] [ WITH原创 2009-12-02 16:58:00 · 806 阅读 · 0 评论 -
INTERSECT 和 EXCEPT用法
EXCEPT返回两个结果集的差(即从左查询中返回右查询没有找到的所有非重复值)。INTERSECT返回两个结果集的交集(即两个查询都返回的所有非重复值)。UNION返回两个结果集的并集。语法:{(SQL-查询语句1>) } {EXCEPT | INTERSECT }{(SQL-查询语句2>)}限制条件(1)所有查询原创 2012-09-19 20:57:07 · 245 阅读 · 0 评论 -
CUBE用法
CUBE运算符生成的结果集是多维数据集。多维数据集是事实数据(即记录个别事件的数据)的扩展。扩展是基于用户要分析的列建立的。这些列称为维度。多维数据集是结果集,其中包含各维度的所有可能组合的交叉表格。CUBE运算符在 SELECT语句的 GROUP BY子句中指定。该语句的选择列表包含维度列和聚合函数表达式。GROUP BY指定了维度列和关键字 WITH CUBE。结果原创 2012-09-19 20:58:13 · 326 阅读 · 0 评论 -
SQL 子查询 总结
子查询是一个嵌套在SELECT、INSERT、UPDATE或 DELETE语句或其他子查询中的查询。任何允许使用表达式的地方都可以使用子查询。三种基本的子查询(1)在通过 IN或由 ANY或 ALL修改的比较运算符引入的列表上操作。(2)通过未修改的比较运算符引入且必须返回单个值。(3)通过 EXISTS引入的存在测试。WHERE e原创 2012-09-19 21:03:34 · 5952 阅读 · 0 评论 -
SQL 联接查询 总结
一、联接分类内部联接(典型的联接运算,使用类似于 =或 <>的比较运算符)。内部联接包括同等联接和自然联接。内部联接通过比较相等的值的字段(被连接的表所共同拥有的),将匹配的行作为结果集(即将两个表都满足条件的记录作为结果集)。 A:内连接是SQLServer默认的连接方式,可以把INNERJOIN简写成JOIN B:连接的条件中不要指定空值,因为空值和原创 2012-09-19 21:06:52 · 457 阅读 · 0 评论 -
使用公用表表达式
公用表表达式(CTE)是SQL Server 2005中提供的一种新的解决方案。公用表表达式 (CTE) 可以认为是在单个 SELECT、INSERT、UPDATE、DELETE 或 CREATE VIEW 语句的执行范围内定义的临时结果集。CTE 与派生表类似,具体表现在不存储为对象,并且只在查询期间有效。与派生表的不同之处在于,CTE 可自引用,还可在同一查询中引用多次。CET 作用:原创 2009-11-13 11:48:00 · 362 阅读 · 0 评论