在db2命令行中进行操作: 1.开始-运行,输入CMD,执行db2cw命令进入db2命令行模式 2.再输入db2后,便可以输入SQL语句进行执行;如果不输入,则需要db2 "SQL语句"来执行备注,命令回车提示成功后,对于INSERT则一定要进行COMMIT,否则无效 --创建表结构
db2 "create table tablename as (SELECT row_number(),zd FROM tablename2) definition only"
--创建新表
db2 "create table tablename(a varchar(14))"
--删除表
db2 "drop table table_name"
--向表中插入数据
db2 "INSERT INTO tablename(zd1,zd2,zd3,zd4,zd5) VALUES ('aaaaa','110','1111','2222','2012-09-11')"
--查询表中数据
db2 "SELECT * FROM tablename"
--删除表中前10000万记录
db2 "delete from (select * from tablename fetch first 10000 rows only) where 1=1"
--提交
db2 "commit"
--查询系统当前时间
db2 "select current time from sysibm.sysdummy1"
--查询表中总记录数
db2 "select count(0) from tablename"
了解执行存储过程需要的时间:
db2 "select current time from sysibm.sysdummy1"
db2 "CALL 存储过程名()"--调用存储过程
db2 "commit"--提交
db2 "select current time from sysibm.sysdummy1"====编写一个存储过程造数据,5个字段(1个日期类型[值相对固定],3个字段随机从已存在的表中取,1个字段同另1字段一起作主键)分析与结果:没接触过db2,分析当前不会的知识点 1.如何对现有表的字段值进行随机取值
select int(rand()*100) from sysibm.sysdummy1;
2.如何找到db2类似于oracle的rownum唯一物理行
select ZD, ROW_NUMBER() over(order by ZD desc) as rownum FROM ORA_TABLE1;
SELECT ZD FROM (SELECT ZD, ROW_NUMBER() over(order by ZD desc) as rownum FROM ORA_TABLE1 ) WHERE ROWNUM=100;
3.db2中的循环语法,存储过程的结构是什么
WHILE i |