摘要: 一.WITH AS的含义WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITH AS短语,则只要执行一遍即可。如果WITH AS短语所定义的表名被调用两次以上,则优化器会自动将WITH AS短语所获取的数据放入一个TEMP表里,如果只是被调用一次, 阅读全文
posted @ 2013-11-12 15:46 Mr.Thanks 阅读(449) 评论(0) 推荐(1) 编辑
摘要: 这个功能大大地提高了SQL的执行性能并节省了内存的使用:我们发现,单表数据的统计比多表统计的速度完全是两个概念.单表统计可能只要 0.02秒,但是2张表联合统计就可能要几十表了.这是因为ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询..数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性也就越大了.当你向ORACLE提交一个SQL语句,ORACLE会首先在这块内存中查找相同的语句.这里需要注明的是,ORACLE对两者采取的是一种严格匹配,要达成共享,SQL语句必须完全 阅读全文
posted @ 2013-11-12 15:35 Mr.Thanks 阅读(336) 评论(0) 推荐(0) 编辑
摘要: --写sql语句分别按日,星期,月,季度,年统计销售额--按日select sum(consume),day([date]) from consume_record where year([date]) = '2006' group by day([date]) --按周quarterselect sum(consume),datename(week,[date]) from consume_record where year([date]) = '2006' group by datename(week,[date]) --按月select sum(consu 阅读全文
posted @ 2013-11-12 15:34 Mr.Thanks 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 此数据库处理单用户模式,尚在连接当中,无法删除(既使将SQLServer停止后再启动也是如此)USE [master] GO /****** Object: StoredProcedure [dbo].[killspid] Script Date: 03/28/2011 11:01:32 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --建一个存储过程,断开所有用户连接。 create proc [dbo].[killspid] (@dbname varchar(20))asbegindeclare @s... 阅读全文
posted @ 2013-11-12 15:32 Mr.Thanks 阅读(935) 评论(0) 推荐(0) 编辑
摘要: --syscolumns表中所有字段的意思name sysname --列名或过程参数的名称。 id int --该列所属的表对象 ID,或与该参数关联的存储过程 ID。 xtype tinyint --systypes 中的物理存储类型。 typestat tinyint --仅限内部使用。 xusertype smallint --扩展的用户定义数据类型 ID。 length smallint --systypes 中的最大物理存储长度。 xprec tinyint --仅限内部使用。 xscale tinyint --仅限内部使用。 colid smallint --列或参数 ID。 x 阅读全文
posted @ 2013-11-12 15:28 Mr.Thanks 阅读(256) 评论(0) 推荐(0) 编辑
摘要: --学习SQL数据库,变量是必须要掌握的概念,系统变量就是变量中最重要的变量之一,下面是SQL中系统变量的应用实例use AdventureWorksDWexec sp_addtype 'char_id','varchar(10)','not null'/*图形化:可编程性,类型,用户自定义类型*/exec sp_droptype 'char_id'--删除该类型go/*用DECLARE创建变量必须@开头SET为变量赋值*/--在Transact-SQL中不能像在一般的程序语言中一样使用“变量=变量值”来给变量赋值。必须使用SEL 阅读全文
posted @ 2013-11-12 11:22 Mr.Thanks 阅读(683) 评论(0) 推荐(0) 编辑
摘要: GETDATE按 datetime 值的 Microsoft® SQL Server™ 标准内部格式返回当前系统日期和时间。语法GETDATE ( )返回类型datetime注释日期函数可用在 SELECT 语句的选择列表或用在查询的 WHERE 子句中。在设计报表时,GETDATE 函数可用于在每次生成报表时打印当前日期和时间。GETDATE 对于跟踪活动也很有用,诸如记录事务在某一帐户上发生的时间。示例A. 用 GET DATE 返回当前日期和时间下面的示例得出当前系统日期和时间:SELECT GETDATE()GO下面是结果集:------------------------- 阅读全文
posted @ 2013-11-12 11:20 Mr.Thanks 阅读(1606) 评论(0) 推荐(0) 编辑
摘要: --以下操作为判断游标是否存在的同时检测游标状态。SELECT (CASE WHEN CURSOR_STATUS('global','DD')=1 THEN '游标的结果集至少有一行' WHEN CURSOR_STATUS('global','DD')=0 THEN '游标的结果集为空' WHEN CURSOR_STATUS('global','DD')=-1 THEN '游标被关闭' WHEN CURSOR_STATUS('global 阅读全文
posted @ 2013-11-12 11:14 Mr.Thanks 阅读(642) 评论(0) 推荐(0) 编辑
摘要: #region 添加支款方式--向已写好的多行插入sql语句中添加字段和值 public int A_ZhifuFS(int diqu) { int i = 0; string strData = @"SELECT '492494' rwd,'11' rq,'1' bl,'壹元整' md,'1' mr,'a' kx,'055fa99b-a932-4924-9430-71cf13bb6858' gid UNION ALL SELECT '492494', 阅读全文
posted @ 2013-11-12 11:01 Mr.Thanks 阅读(446) 评论(0) 推荐(0) 编辑
摘要: TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。 DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。 TRUNCATE,DELETE,DROP放在一起比较:TRUNCATE TABLE:删除内容、释放空间但不删除定义。DELETE TABLE:删除内容不删除定义,不释放空间。DROP TABLE:删除内容和定义,释.. 阅读全文
posted @ 2013-11-12 10:43 Mr.Thanks 阅读(228) 评论(0) 推荐(0) 编辑