-
declare
dt date;
i number;
begindt := to_date('20100201','yyyymmdd');
loopexit when dt > to_date('20130101','yyyymmdd');
delete from t_detail where startdate =to_char(dt,'yyyymmdd');
commit;
dt := dt + 1;- 只需减少一次自动增量处理。
end loop;
end;
-
create or replace procedure det_log
asi varchar2(8);
begini:='20120201';
while i<='20131231' loopdelete from t_detail where startdate = i;
commit;
dbms_;
i:=to_char(to_date(i,'yyyymmdd')+1,'yyyymmdd');
end loop;
end;如果日志表非常大,建议将此表改为分区表!
-
如果单表数据量过大(亿+),建议您在删除分区表之前先执行分区表,否则单次操作导致的性能压力和耗时会太大。 另外,delete不操作索引,删除大表只能说效率低下。
-
执行写入循环的方法如下
1. 第一步是编写存储过程的整体结构,然后定义变量,如下图所示。
2. 其次,完成以上步骤后,定义 cursor 定义变量后,开始,从双 end test proc 中选择 sysdate into v date,如下图所示。
3.然后,在完成上述步骤后,编写一个for循环,光标启动for循环,为临时变量名称指定任意名称,输出一个字段,并使用变量名称。 列表名称很好,最后是循环的光标结束,如下图所示。
4.最后,在完成上述步骤后,尝试运行并单击“.
dbms output“选项卡进行检查,操作成功,如下图所示。 这样,问题就解决了。
-
1. 首先登录数据库,点击右上角的工具栏,点击工具栏上的工具。
2. 选择“导出用户对象”,单击“工具”工具,然后向下查找“导出用户对象”功能以通过此功能导出数据。
3. 选择要导出的表、序列或存储过程。 在类型列中,将显示对象属性、表、序列和存储过程。 在这里,您需要选择一个存储过程或序列。
4. 选择多个导出的对象。 按住 Ctrl 键可多选导出的对象。 单击“输出文件”以导出文件路径,选择文件路径,然后输入文件名,后缀为 sql。
如果后缀是SQL,则是一些可以直接在其他应用程序上执行的数据库语句,<>
5. 开始导出数据脚本。 单击导出按钮开始将所选对象导出到数据脚本。 出来时需要选择一个目录。
6. 查看导出文件。 导出完成后,双击打开导出的文件,可以看到是一些脚本,如建表存储过程。 如果查看导出文件,可以看到它是一种特定的脚本语言。
create proc p_name
cname varchar(20),result int output >>>More
父爱无言,父爱如山,这是人们常说的,也是对父爱的真实写照。 如果说母亲的爱是世界上最伟大、最关心的情感,那么父亲的爱就是世界上最伟大、最深沉的情感。 也正是因为如此,父爱需要我们用心去感受和品味,虽然日常生活中没有关爱,只是冷漠地对待你,也许还抬手给你一个大大的耳光,但你自己知道吗? >>>More