大家好,我遇到这样一个问题,在oracle数据库中利用存储过程建表,但是一直失败
代码大致如下CREATE OR REPLACE PROCEDURE CREATE_TABLE
AS
flag number:=0;
BEGIN
select count(*) into flag from all_tables where table_name ='TLDN_TABLE';
IF flag=0 then
create table TLDN_TABLE(ID VARCHAR2(11) NOT NULL,STATUS NUMBER(1) DEFAULT 0,...);
END IF
END;
/网上有人execute immediate 'create table TLDN_TABLE(ID VARCHAR2(11) NOT NULL,STATUS NUMBER(1) DEFAULT 0,...);
'
除了它,我不知上面我写为什么不对,
在sqlplus下执行 create table TLDN_TABLE(ID VARCHAR2(11) NOT NULL,STATUS NUMBER(1) DEFAULT 0,...);
没问题
代码大致如下CREATE OR REPLACE PROCEDURE CREATE_TABLE
AS
flag number:=0;
BEGIN
select count(*) into flag from all_tables where table_name ='TLDN_TABLE';
IF flag=0 then
create table TLDN_TABLE(ID VARCHAR2(11) NOT NULL,STATUS NUMBER(1) DEFAULT 0,...);
END IF
END;
/网上有人execute immediate 'create table TLDN_TABLE(ID VARCHAR2(11) NOT NULL,STATUS NUMBER(1) DEFAULT 0,...);
'
除了它,我不知上面我写为什么不对,
在sqlplus下执行 create table TLDN_TABLE(ID VARCHAR2(11) NOT NULL,STATUS NUMBER(1) DEFAULT 0,...);
没问题
解决方案 »
- 遇到个sql问题
- 几种常用数据库:Oracle\Ms SQL Server\Sybase\MySQL,在查询效率上有何优劣?
- 求助写一个SQL语句
- 时间差怎么求
- 在secureCRT中执行SQLPLUS显示-bash: sqlplus: command not found怎么办
- 如何用ASP.NET备份和恢复Oracle数据库,实现原理是什么?在线求答。。。。。。。。
- 关于job
- 怎样查看某段时间内oracle的操作日志(linux7.3下的oracle 8.1.6),要详细操作方法。急!!!!!!!!!高分相送
- 如何取出两个表中不匹配的工号,并把这些工号放到一个表中
- 如何将表中的某个字段删除
- Oracle怎么写一个求余额的sql语句。
- 求高人详细解释下set role all的含义
sql='create table TLDN_TABLE(ID VARCHAR2(11) NOT NULL,STATUS NUMBER(1) DEFAULT 0,...);'
execute immediate sql;