在程序中传递参数,有ry_id,riqi两个字段,从基础表中选择出符合在一个时间段内有此人员编号的所有记录,并插入到另外一个新表中(表已存在)并保存!先谢谢了!
解决方案 »
- Oracle客户端无法连接的问题
- 求助!一SQL查询
- ssi oracle 日期类型入库 时分秒丢失问题 急急急
- 服务器:Unix+Oracle,客户端W:in2K Server+VC 问题,多谢!!!
- 这个SQL怎么写啊?
- 一个关于decode中字符串比较的问题。
- Oracle服务器和Oracle客户端是什么关系?
- oracle的DBA STUDIO里用错误的用户名和密码选SYSDBA也可以进入!是为啥子呢?
- !!10万火急,用delphi的ADOStoreProc调用oracle服务器存储过程问题
- 站在门口很久了,不知怎么进来。
- 求:oracle 9.0.1.1.0的xdk for java 的原理。
- oracle server 各个版本的软件清单哪儿有?
v_sql varchar2(2000);
begin
v_sql:='';--拼装sql
execute immediate v_sql;
end;
BEGIN
INSERT INTO 新表 (字段1,字段2......)
SELECT (字段1,字段2......) FROM 基础表
WHERE RY_ID = RYID AND 时间段 = RIQI
END;
这一行 INSERT INTO 新表 (字段1,字段2......)
不过在Insert之前,要先执行delete from 新表 where RY_ID = RYID AND 时间段 = RIQI防止主键冲突。
riqi varchar2, --存储日期的字段名
date1 varchar2, --开始日期
date2 varchar2 --结束日期 ) as
.....如果ry_id,riqi固定,就没有必要作为参数了。
BEGIN
delete 新表 WHERE RY_ID = id AND ( 时间段 > rq1 and 时间段 > rq2 ); INSERT INTO 新表 (字段1,字段2......)
SELECT (字段1,字段2......) FROM 基础表
WHERE RY_ID = id AND ( 时间段 > rq1 and 时间段 > rq2 );
END;
BEGIN
delete 新表 WHERE RY_ID = id AND ( 时间段 > rq1 and 时间段 > rq2 ); INSERT INTO 新表 (字段1,字段2......)AVALUES --语法补充
SELECT (字段1,字段2......) FROM 基础表
WHERE RY_ID = id AND ( 时间段 > rq1 and 时间段 > rq2 );
END;