declare begin execute immediate 'drop table students'; execute immediate 'create table students( id number(5) primary key, first_name varchar2(20), last_name varchar2(20), major varchar2(30), current_credits number(3) )'; end;确实可以了,各位达人有没有什么更好的办法。
SQL> begin 2 execute immediate 'drop table tb1'; 3 execute immediate 'create table tb1( 4 aa number, 5 bb number)'; 6 end; 7 /PL/SQL 过程已成功完成。SQL> desc tb1; 名称 是否为空? 类型 ----------------------------------------- -------- ------ AA NUMBER BB NUMBERSQL> 有什么错误提示?
如果已知有此表 drop table tb1 create table tb1 ( a varchar2(2)); 如果不確定有此表 DECLARE INTA NUMBER; BEGIN SELECT COUNT(1) INTO INTA FROM TAB WHERE TNAME='TB1'; IF INTA=0 BEGIN EXECUTE IMMEDIATE 'CREATE TABLE TB1 ( A VARCHAR2(2))'; END; END IF; END
CUR_ID:=DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(CUR_ID,SQL_TEXT,DBMS_SQL.NATIVE);
STAT:=DBMS_SQL.EXECUTE(CUR_ID);
DBMS_SQL.CLOSE_CURSOR(CUR_ID);
begin
execute immediate 'drop table students';
execute immediate 'create table students(
id number(5) primary key,
first_name varchar2(20),
last_name varchar2(20),
major varchar2(30),
current_credits number(3)
)';
end怎么还是不行啊
begin
execute immediate 'drop table students';
execute immediate 'create table students(
id number(5) primary key,
first_name varchar2(20),
last_name varchar2(20),
major varchar2(30),
current_credits number(3)
)';
end;确实可以了,各位达人有没有什么更好的办法。
2 execute immediate 'drop table tb1';
3 execute immediate 'create table tb1(
4 aa number,
5 bb number)';
6 end;
7 /PL/SQL 过程已成功完成。SQL> desc tb1;
名称 是否为空? 类型
----------------------------------------- -------- ------
AA NUMBER
BB NUMBERSQL> 有什么错误提示?
drop table tb1
create table tb1 ( a varchar2(2));
如果不確定有此表
DECLARE INTA NUMBER;
BEGIN
SELECT COUNT(1) INTO INTA FROM TAB WHERE TNAME='TB1';
IF INTA=0
BEGIN
EXECUTE IMMEDIATE 'CREATE TABLE TB1 ( A VARCHAR2(2))';
END;
END IF;
END