分类: Database预览模式: 普通 | 列表
07-06
10

谈外连接(第一部分)

自 SQL 构造在 DB2 for OS/390® V6 中修订之后,如果我相信有一种 SQL 构造已经造成了最多的疑惑,那一定就是外连接。

V6 扩展了在 ON 子句中编写谓词的能力,并引入了大量其它的优化和查询改写方面的增强。虽然增强语法的确增加了外连接的潜在用法,但这也意味着需要去理解更多的内容。而语法也与它在 UNIX®、Linux、Windows 和 OS/2® 平台上的兄弟更加接近,使得在 DB2 系列中更容易保持 SQL 编码的一致性。

这篇文章由两个部分组成,我试图在文章中为编写外连接总结出一个指南以实现两个目的:

  • 最重要的目标是获得正确的结果。
  • 其次,考虑用不同的方法编写谓词的性能含义。

 

第 1 部分是关于外连接的更简单构造,就在 ON 和 Where 子句中编写谓词的效果进行简单的比较。在第 2 部分,我会涉及更复杂的主题,如简化外连接和嵌套外连接。

本文中的例子使用了取自 DB2 通用数据库(UDB)(非 OS/390)样本数据库的摘录。 图 1 中的数据是一整张表的子集。为了满足所有外连接中组合的需要,Project 表中含有 PROJNO = 'IF2000' 的行已被更新为设置 DEPTNO = 'E01'

对于 z/OS® 和 OS/390 的用户,表名将有所不同:

工作站上 DB2 表的名称 OS/390 和 z/OS 版本的 DB2 表的名称
EMPLOYEE EMP
DEPARTMENT DEPT
PROJECT PROJ

查看更多...

Tags: 面试题

分类:Database | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 670
07-06
08

存储过程实例 (人事部门管理系统)

1.添加部门

Create PROCEDURE demo_deptadd
@name varchar(20),@description varchar(20),@leader varchar(20),@phone varchar(20),
@address varchar(20),@starttime varchar(20),@info varchar(40)
AS
  insert into department
(name,description,leader,phone,address,starttime,info)values
(@name,@description,@leader,@phone,@address,@starttime,@info)

查看更多...

Tags: SQL Server SQL存储过程

分类:Database | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 798
07-04
25

mysql出错代码及出错信息对照

mysql的出错代码表,根据mysql的头文件mysql/include/mysqld_error.h整理而成。错误之处,请大家指正。

1005:创建表失败
1006:创建数据库失败
1007:数据库已存在,创建数据库失败
1008:数据库不存在,删除数据库失败
1009:不能删除数据库文件导致删除数据库失败
1010:不能删除数据目录导致删除数据库失败
1011:删除数据库文件失败
1012:不能读取系统表中的记录
1020:记录已被其他用户修改
1021:硬盘剩余空间不足,请加大硬盘可用空间
1022:关键字重复,更改记录失败
1023:关闭时发生错误

查看更多...

Tags: 报错 MYSQL

分类:Database | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 795
07-04
25

MYSQL初学者使用指南与介绍

MYSQL初学者使用指南与介绍

一、连接MYSQL。
格式: mysql -h主机地址 -u用户名 -p用户密码
1、例1:连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
2、例2:连接到远程主机上的MYSQL。假设远程主机的IP为:110
.110.110.110,用户名为root,密码为abcd123。则键入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u与root可以不用加空格,其它也一样)
3、退出MYSQL命令: exit (回车)

查看更多...

Tags: MYSQL

分类:Database | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 721
06-11
23

我的第一个存储过程

     以前不爱写这玩意,给写程序添加了额外的调试量,不过存储过程确实是这个好玩意(好处就不废话)。

Create PROCEDURE demo_empadd 
@inparam1 varchar(10),@inparam2 varchar(20),@inparam3 int,
@inparam4 varchar(10),@inparam5 varchar(20),@inparam6 varchar(10),

查看更多...

Tags: 存储过程

分类:Database | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 601
06-11
02

关于oracle独有的计划任务

试写一计划任务:

declare

v_job number :=1;

查看更多...

Tags: 计划任务

分类:Database | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 833