环境:在PL/SQL里执行SQL:
begin
IF not exists (select 1 from sysobjects where id = object_id('objectprepos_def') and type = 'U') then
create table objectprepos_def(
dxbh number(5) not null,
dxmc varchar2(30) not null,
dxsm varchar2(40) not null,
dxlx number(3) not null,
fdxbh number(5) not null,
ipdz varchar2(20) default null,
dkh number(6) default 0,
lxjg number(4) default 0,
lxbz number(1) default 0,
city_id varchar2(20) default null,
wz varchar2(128) default null,
key0 number(10) default 0,
key1 number(10) default 0,
key2 number(10) default 0,
key3 number(10) default 0,
constraint objectprepos_def_p primary key(dxbh)
)tablespace tbs_hostman;
end if;
end;---------------------------------------------------
ORA-06550: 第 3 行, 第 5 列:
PLS-00103: 出现符号 "CREATE"在需要下列之一时:
begin case declare exit
for goto if loop mod null pragma raise return select update
while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge
<a single-quoted SQL string> pipe是不是语法不对阿?
谢谢指点,感激不尽,在线等答案~~~
begin
IF not exists (select 1 from sysobjects where id = object_id('objectprepos_def') and type = 'U') then
create table objectprepos_def(
dxbh number(5) not null,
dxmc varchar2(30) not null,
dxsm varchar2(40) not null,
dxlx number(3) not null,
fdxbh number(5) not null,
ipdz varchar2(20) default null,
dkh number(6) default 0,
lxjg number(4) default 0,
lxbz number(1) default 0,
city_id varchar2(20) default null,
wz varchar2(128) default null,
key0 number(10) default 0,
key1 number(10) default 0,
key2 number(10) default 0,
key3 number(10) default 0,
constraint objectprepos_def_p primary key(dxbh)
)tablespace tbs_hostman;
end if;
end;---------------------------------------------------
ORA-06550: 第 3 行, 第 5 列:
PLS-00103: 出现符号 "CREATE"在需要下列之一时:
begin case declare exit
for goto if loop mod null pragma raise return select update
while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge
<a single-quoted SQL string> pipe是不是语法不对阿?
谢谢指点,感激不尽,在线等答案~~~
貌似sqlserver语法
V_i INTEGER;
BEGIN
SELECT COUNT(*) INTO v_i
FROM user_objects WHERE object_type='TABLE' AND OBJECT_NAME='TABLENAME';
IF v_i =0 THEN
创建表
DBMS_OUTPUT.PUT_LINE('0');
END IF;
END;
v_sql VARCHAR2(200);
BEGIN
SELECT COUNT(*) INTO v_i
FROM user_objects WHERE object_type='TABLE' AND OBJECT_NAME='LL_0001';
IF v_i =0 THEN
v_sql:='CREATE TABLE ll_0001(dxbh NUMBER(5) NOT NULL)';
EXECUTE IMMEDIATE v_sql;
END IF;
END;
--
DROP TABLE ll_0001;