日期:2014-05-16 浏览次数:20457 次
1、查看前3行数据,列别名如果没有AS
子句,派生的列会命名为 2,这表示它是结果集中的第二列。
db2 => select name,salary+comm from staff fetch first 3 rows only
NAME????? 2????????
--------- ----------
Sanders??????????? -
Pernal????? 78783.70
Marenghi?????????? -
? 3 record(s) selected.
2、db2支持通过“,”分隔在同一个insert语句中插入多个值
db2 => insert into tt values(1),(1)
DB20000I? The SQL command completed successfully.
3、db2没有"create table TABLE_A as select ****"语句,创建表结构一致的表只能通过
db2 => create table pers like staff
DB20000I? The SQL command completed successfully.
4、UPDATE
语句用来修改表或视图中的数据。通过指定 WHERE
子句,可以修改满足条件的每一行的一个或多个列的值。
db2 => update staff set (dept,salary)=(51,70000) where id=150
DB20000I? The SQL command completed successfully.
oraclehedb2都支持下列写法
update tttt set id=3,name='c' where id=1;
5、数据修改操作(插入、更新或删除)的目标中的列变成中间结果表中的列,可以在查询的选择列表中按名称引用这些列
db2 => select salary from old table(update staff set salary=salary*0.2 where id=10)
SALARY??
---------
?19671.50
? 1 record(s) selected.
db2 => select salary from old table(update staff set salary=salary*0.2 where id=10)
SALARY??
---------
? 3934.30
? 1 record(s) selected.
6、事务处理上,db2默认进行自动提交,如需要显示创建事务,则应显示指定"+c"参数,这里应注意,如果指定了事务,即使ddl语句db2也需要提交或者回滚,db2不会显示或隐示的回滚事务。
会话1
$ db2 +c
db2 => connect to sample
?? Database Connection Information
?Database server??????? = DB2/LINUX 9.7.5
?SQL authorization ID?? = DB2INST1
?Local database alias?? = SAMPLE
db2 => create table czm_1(id int)
DB20000I? The SQL command completed successfully.
db2 => insert into czm_1 values(1)
DB20000I? The SQL command completed successfully.
db2 => savepoint savepoint1 on rollback retain cursors
DB20000I? The SQL command completed successfully.
db2 => insert into czm_1 values(2)
DB20000I? The SQL command completed successfully.
db2 => savepoint savepoint2 on rollback retain cursors
DB20000I? The SQL command completed successfully.
db2 => select * from czm_1
ID????????
-----------
????????? 1
????????? 2
? 2 record(s) selected.
会话2,执行下面语句无法查询czm_1,hang住不能继续执行
db2 => connect to sample
?? Database Connection Information
?Database server??????? = DB2/LINUX 9.7.5
?SQL authorization ID?? = DB2INST1
?Local database alias?? = SAMPLE
db2 => select * From czm_1
会话1
db2 => rollback to savepoint savepoint1
DB20000I? The