proc之建表添加数据报错解决

需求是:我想要创建一个存储过程,在这个存储过程里要完成两件事情,一要创建一个表,二要在这个表里添加数据;

create or replace procedure ctab as
i number;
begin
execute immediate ‘create table dd as
select * from dept‘;
execute immediate ‘alter table dd add constraint pk_dd primary key(deptno)‘;

for i in 901 .. 10000 loop
insert into dd values (i, ‘TEST‘, ‘BEIJING‘);
end loop;
commit;

end;

编译报错,提示表DD不存在。

编译器认为这个表DD是没有创建,所以报错。下面是修改过的存储过程。

create or replace procedure ctab as
i number;
begin
select count(*) into i from user_tables where table_name = ‘DD‘;
if i = 0 then
execute immediate ‘create table dd as
select * from dept‘;
execute immediate ‘alter table dd add constraint pk_dd primary key(deptno)‘;

for i in 901 .. 10000 loop
insert into dd values (i, ‘TEST‘, ‘BEIJING‘);
end loop;
commit;

end if;
end;

问题解决。

原文地址:https://www.cnblogs.com/jwangpip/p/9094721.html

时间: 2024-08-30 05:48:07

proc之建表添加数据报错解决的相关文章

Oracle数据库建表+添加数据练习

SQL脚本: 1 --建表 2 --student表+注释 3 create table student( 4 sno varchar2(3) not null, 5 sname varchar2(9) not null, 6 ssex varchar2(3) not null, 7 sbirthday date, 8 sclass varchar2(5), 9 constraint pk_student primary key(sno) 10 ); 11 comment on column s

数据库添加数据报错:Cannot add or update a child row: a foreign key constraint fails

在更新表数据时出现了以下报错信息:Cannot add or update a child row: a foreign key constraint fails (o2o.tb_shop, CONSTRAINT fk_shop_profile FOREIGN KEY (owner_id) REFERENCES tb_person_info (user_id)) 也就是说tb_shop表中的涉及到的外键是fk_shop_profile,表tb_shop中的列owner_id和表tb_person

OREACLE 数据库建表 添加判断表是否存在 不存在则新建

declare  cnt number; begin   ---查询要创建的表是否存在   select count(*)into cnt from user_tables where table_name='USERLOG';   ---如果存在则删除该表   if cnt>0 then      dbms_output.put_line('表存在不创建');   else       dbms_output.put_line('表不存在');    execute immediate 'CR

redis下往列表插入数据报错解决方法

(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. 今天运行Redis时发生错误,错误信息如下: (error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may

建表添加数据

解决向表中添加中文数据报错的问题

可能有人在往表中添加数据时会遇到这类报错 django.db.utils.InternalError: (1366, "Incorrect string value: '\\xE9\\x9A\\.................. 以下是亲测比较有效的解决方案 mysql版本:5.6 网传向DATABASES中添加 实际上效果并不明显,当然我也在此之后删表重建过了. 然后就只能另辟蹊径了 在这里看出character_set_database默认编码方式是拉丁文而不是utf8 所以接下来需要配置

Hibernate不能自动建表解决办法【转载】

  最近开始学Hibernate,看的是李刚的那本<轻量级java ee企业应用实战>.头一个hibernate程序,我原原本本的按照书上例子写下来,同时只是改动了些mysql的连接参数,并且在mysql中新建了一个hibernate数据库,仅此而已.然而预想不到的事情发生了--程序写好之后,运行,报错        Hibernate: insert into news_table (title, content) values (?, ?)        Exception in thre

[转]Hibernate不能自动建表解决办法及Hibernate不同数据库的连接及SQL方言

最近开始学Hibernate,看的是李刚的那本<轻量级java ee企业应用实战>.头一个hibernate程序,我原原本本的按照书上例子写下来,同时只是改动了些mysql的连接参数,并且在mysql中新建了一个hibernate数据库,仅此而已.然而预想不到的事情发生了……程序写好之后,运行,报错Hibernate: insert into news_table (title, content) values (?, ?) Exception in thread "main&quo

解决Myeclipse下Debug出现Source not found以及sql server中导入数据报错

前言:在空间里回顾了我的2014,从生活.技术.家庭等各方面对自己进行总结剖析,也是给自己一个交代.也想在博客上专门写一篇2014年度菜鸟的技术路回忆录,但是因为各种事一再耽搁了,现在来写也就更显得不合时宜了,也就作罢了,反正码农的生活都是围绕着pc.代码转,绕不开整天敲敲打打的26个字母. 看着在园子的园龄单位从月变成年,翻翻过去写的博客从大数据到可视化以及一些零散分支,渐渐的发现,变化的时间,不变的是成长. 书归正传,这两天有看到阿里在举办一个天池大数据竞赛,仔细一看,做的是推荐算法.抱着一