Oracle使用游标为所有用户表添加主键语句

2015-07-24 10:06:28 · 作者: · 浏览: 1

应用场合:数据表新增自增一主键能加快数据表的访问速度,而且是整形的索引速度最快。本程序适合在导入Oracle数据库时删除不存在主键的情况下运行。

代码说明:所有的表主键字段名都设置为ID,如果已存在ID字段,则判断是否是整形,如果不是就重命名字段为[表名ID],然后新增ID,如果不存在则直接添加自增一ID的主键

操作说明:打开PQSQL连接数据库后直接执行下面的详细脚本代码运行即可,脚本有风险(会删除原来的索引跟主键约束),请不要轻易在正式运行的数据库上直接执行

--Oracle使用游标为所有用户表添加主键语句

declare

addstring NVARCHAR2(2000):=' '; --定义添加字段变量

constring NVARCHAR2(2000):=' '; --定义索引变量

cursor mycursor is select * from user_tables where TABLESPACE_NAME='SZGABL' ORDER BY TABLE_NAME; --定义游标获取所所有用户数据表名称

begin

dbms_output.put_line('declare counter int :=0;begin ');

open mycursor; --打开游标

if mycursor%found then --游标的found属性判断是否有记录

--创建一个序列

--execute immediate addstring;

else

close mycursor;

dbms_output.put_line('end;');