随笔分类 -  SQL

摘要:1、创建结果表 create table new_table_name as (select * from table_name) definition only; 2、创建物化查询表(MQT)create table new_table_name as (select * from table_name) data initially deferred refresh deferred; refresh table new_table_name; 注意:物化表SELECT语句类似一个查询,没有真正形成表,类型显示为Query。但它完全可以当表来用。3、复制表结构cr... 阅读全文
posted @ 2011-12-27 20:58 Fskjb 阅读(8501) 评论(0) 推荐(0)
摘要:1.db2里面的字符串连接可用"||"这个进行连接2.如何快速删除大批量的数据表(test为数据库表)最常用也是最多人用的语句:delete from test,但这种做法,效率比较低,花费时间太长,因为在删除数据时,要记数据库日志。import from /dev/null of del replace into test//先清空,再导入数据(由于导入的文件为空,故相当于清空表数据),这种删除的速度较快ALTER TABLE test activate NOT LOGGED initially WITH EMPTY TABLE ;删除表中的数据,不记日志,这种处理最快3 阅读全文
posted @ 2011-12-27 20:51 Fskjb 阅读(6323) 评论(0) 推荐(1)
摘要:SQL0407N Assignment of a NULL value to a NOT NULL column "TBSPACEID=2, TABLEID=50, COLNO=8" is not allowed. SQLSTATE=23502 上面的错误信息没有直接给出table名,可以通过下面的语句得到table和columnSELECT * FROM SYSCAT.TABLES WHERE TBSPACEID = 2 AND TABLEID = 50SELECT * FROM SYSCAT.COLUMNS WHERE TABNAME= '*******' 阅读全文
posted @ 2011-03-03 11:10 Fskjb 阅读(2067) 评论(0) 推荐(0)
摘要:----start说起DB2在线分析处理,可以用很好很强大来形容。这项功能特别适用于各种统计查询,这些查询用通常的SQL很难实现,或者根本就无发实现。首先,我们从一个简单的例子开始,来一步一步揭开它神秘的面纱,请看下面的SQL:SELECTROW_NUMBER()OVER(ORDERBYSALARY)AS序号,NAMEAS姓名,DEPTAS部门,SALARYAS工资FROM(--姓名部门工资VALUES('张三','市场部',4000),('赵红','技术部',2000),('李四','市场部',5 阅读全文
posted @ 2011-02-28 21:05 Fskjb 阅读(6284) 评论(0) 推荐(0)
摘要:行转列给出下面的数据:CREATE TABLE Sales (Year INT, Quarter INT, Results INT)列转行给出下面数据这个SQL就可以实现:db2 => select * from (values 1) as a1----------- 11 条记录已选择。所不同的是这里跟from子句中的一个表产生了关系,取出了表中的一列作为数据. 阅读全文
posted @ 2010-12-01 23:03 Fskjb 阅读(6818) 评论(0) 推荐(0)
摘要:DB2删除数据是我们最常用的操作之一,下面就教您一个DB2删除数据时的小技巧,如果您对DB2删除数据方面感兴趣的话,不妨一看。Delete语句当用DELETE TABLE命令删除整个表中数据时,该操作会逐条删除表中记录,并记入活动的交易日志。当表中数据量很大时,如果活动的交易日志不够大,就会遇到交易日志已满的错误,并回滚日志。即使活动的交易日志足够大,删除数据量很大的表的操作也会占用很多时间。IM... 阅读全文
posted @ 2010-12-01 22:22 Fskjb 阅读(5809) 评论(0) 推荐(0)
摘要:COALESCE :返回其参数中第一个非空表达式。   语法   COALESCE ( expression [ ,...n ] )   参数   expression   任何类型的表达式。   n   表示可以指定多个表达式的占位符。所有表达式必须是相同类型,或者可以隐性转换为相同的类型。   返回类型   将相同的值作为 expression 返回。   注释   如果所有自变量均为 NUL... 阅读全文
posted @ 2010-08-31 21:38 Fskjb 阅读(20878) 评论(0) 推荐(0)
摘要:这里介绍sql server2005里面的一个使用实例: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--CREATETABLEtb(provincenvarchar(10),citynvarchar(10),scoreint)INSERTtbSE... 阅读全文
posted @ 2010-05-02 21:06 Fskjb 阅读(786) 评论(0) 推荐(0)
摘要:首先,sqlserver里的标识符有一定的规则,比如 你 create table abc 123(...) 那么中间含有空格,它不是符合规则的。 你会写做 create table [abc 123](....) 即以[]来定界标识符。quotename将 字串成为有效的标识符。 它有什么用呢? 我举个例子:你有个表名字叫做 aa[]bb 当某些应用动态语句查询时 你如何写呢 exec('sel... 阅读全文
posted @ 2010-04-19 08:54 Fskjb 阅读(12855) 评论(0) 推荐(2)
摘要:数据表如下:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--createtable[tb]([value1]int,[value2]int)insert[tb]select1,12unionallselect1,13unionallselect1,... 阅读全文
posted @ 2010-04-16 09:51 Fskjb 阅读(885) 评论(0) 推荐(0)
摘要:主键和外键是把多个表组织为一个有效的关系数据库的粘合剂。主键和外键的设计对物理数据库的性能和可用性都有着决定性的影响。 必须将数据库模式从理论上的逻辑设计转换为实际的物理设计。而主键和外键的结构是这个设计过程的症结所在。一旦将所设计的数据库用于了生产环境,就很难对这些键进行修改,所以在开发阶段就设计好主键和外键就是非常必要和值得的。主键: 关系数据库依赖于主键---它是数据库物理模式的基石。主键在... 阅读全文
posted @ 2010-04-06 23:05 Fskjb 阅读(458) 评论(0) 推荐(0)
摘要:SQL Server2005引入了很多迎合开发者口味的新特性,虽然改动不大,却大大了减少了开发者的工作量,这种替用户考虑的开发思路,值得称赞。在SQL Server2000中,要实现行列转换,需要综合利用聚合函数和动态SQL,实现起来需要一定的技巧,所以在CSDN的SQL讨论区里可以看到大量询问行列转换如何实现的问题。到了2005中,使用新引进的关键字PIVOT/UNPIVOT,可以轻松实现行列转... 阅读全文
posted @ 2010-04-03 20:49 Fskjb 阅读(993) 评论(0) 推荐(0)
摘要:在分组查询的select列表里面列只能为groupby里面的列,否则只能放在聚合函数里面。那么查询出来的信息就不完整,下面通过下面该查询让更多的列被查询出来。input为商品入库表,total为数量,unitprice为单价,product_id为外键引用自input_categories表[代码]input_categories位商品表(productname为商品名称):[代码]现在要查询的是... 阅读全文
posted @ 2010-02-28 20:54 Fskjb 阅读(1672) 评论(0) 推荐(0)
摘要:下面的查询从说法上可以算得上是分组查询了,但是分组查询是不是就是指用group by来操作呢,我想在看了下面的例子后你会有清楚的答案。代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--createtabletestTable([id]int,[na... 阅读全文
posted @ 2010-02-27 18:06 Fskjb 阅读(15511) 评论(1) 推荐(3)
摘要:临时表就是那些名称以井号 (#) 开头的表。如果当用户断开连接时没有除去临时表,SQL Server 将自动除去临时表。临时表不存储在当前数据库内,而是存储在系统数据库 tempdb 内。 临时表有两种类型: 本地临时表 以一个井号 (#) 开头的那些表名。只有在创建本地临时表的连接上才能看到这些表,链接断开时临时表即被删除(本地临时表为创建它的该链接的会话所独享)或者这样说局部临时表是有当前用户... 阅读全文
posted @ 2009-07-06 23:19 Fskjb 阅读(59304) 评论(6) 推荐(20)

年年行好运