***** SQL SERVER
if not exists(select * from sysobjects where name='kliu')
create table kliu (
kllo char(10) null default '',
klkl char(10) null default '',
h char(10) null default '',
g char(10) null default ''
);就是为了实现在SQL SERVER里面这样的功能 ***** ORACLEDECLARE
xcount INTEGER;
BEGIN
SELECT COUNT(*) INTO xcount FROM SYS.ALL_TABLES WHERE TABLE_NAME='TBL_AIDENUM';
IF xcount=0 THEN
BEGIN
-- Create脚本有错
CREATE TABLE "SYSTEM"."TBL_AIDENUM"
(
"CHINNUM" VARCHAR2(2) NOT NULL,
"FULLNUM" VARCHAR2(10) NULL,
"AIDENUM" VARCHAR2(2) NULL
)
TABLESPACE "SYSTEM";
-- Insert脚本没错
-- INSERT INTO SYSTEM.TBL_AIDENUM VALUES('cc','xdd','c');
END;
END IF;
END; 为什么总是有错?
请问你们有没有更好的办法?先谢谢了哈
if not exists(select * from sysobjects where name='kliu')
create table kliu (
kllo char(10) null default '',
klkl char(10) null default '',
h char(10) null default '',
g char(10) null default ''
);就是为了实现在SQL SERVER里面这样的功能 ***** ORACLEDECLARE
xcount INTEGER;
BEGIN
SELECT COUNT(*) INTO xcount FROM SYS.ALL_TABLES WHERE TABLE_NAME='TBL_AIDENUM';
IF xcount=0 THEN
BEGIN
-- Create脚本有错
CREATE TABLE "SYSTEM"."TBL_AIDENUM"
(
"CHINNUM" VARCHAR2(2) NOT NULL,
"FULLNUM" VARCHAR2(10) NULL,
"AIDENUM" VARCHAR2(2) NULL
)
TABLESPACE "SYSTEM";
-- Insert脚本没错
-- INSERT INTO SYSTEM.TBL_AIDENUM VALUES('cc','xdd','c');
END;
END IF;
END; 为什么总是有错?
请问你们有没有更好的办法?先谢谢了哈
解决方案 »
- 为何CANVAS_STACKED显示不出来?????
- 在线等哈!!!oracle的net manager配置了服务器命名后一直测试不通过
- 问一个大家都觉得难回答的问题 oracle的d版问题
- 这个SQL怎么写,或者有没有这样的字符串函数来实现
- 协议处方的编号自增问题及其它
- 请问导出数据是哪个权限
- 怎么使用OCI??怎么使用OCI??怎么使用OCI??怎么使用OCI??怎么使用OCI??怎么使用OCI??怎么使用OCI??怎么使用OCI??怎么使用
- ORA-12541 : NTS : 没有监听器
- 求助!急!怎么算每小时两条记录相减
- 使用impdp导入时报错,ora39082报了好多个,导入数据库结束后发现一个表都没有导入进来,这个要怎么解决,请大神告知
- 高分求解:关于spool字符集的问题?
- 优化高手进!
(
"CHINNUM" VARCHAR2(2) NOT NULL,
"FULLNUM" VARCHAR2(10) NULL,
"AIDENUM" VARCHAR2(2) NULL
)
TABLESPACE "SYSTEM";'
(
"CHINNUM" VARCHAR2(2) NOT NULL,
"FULLNUM" VARCHAR2(10) NULL,
"AIDENUM" VARCHAR2(2) NULL
)
TABLESPACE "SYSTEM";'
-------------------------------
正解
--------- ORACLEDECLARE
xcount INTEGER;
BEGIN
select count(*) into xcount
from user_all_tables
where table_name = 'TBL_AIDENUM';
IF xcount=0 THEN
BEGIN
-- Create脚本有错
CREATE TABLE TBL_AIDENUM
(
CHINNUM VARCHAR2(2) NOT NULL,
FULLNUM VARCHAR2(10) NULL,
AIDENUM VARCHAR2(2) NULL
)
END;
END IF;
END;
libin_ftsafe(子陌红尘:当libin告别ftsafe) 说的在ORACLE查询分析器里可以了哈
但是我在delphi里用ODAC的ORAQuery来执行就有错,是不是要把这个脚本也要弄成过程来执行呢?
请问你有什么好的方法?
是不是权限问题啊
----------------------------------
PL/SQL中是不可执行DDL语句的 ,只能用 execute immediate or dbms_sql
IDENTIFIED BY "ERPUSER" DEFAULT TABLESPACE "TBL_ERP"
TEMPORARY TABLESPACE "TBL_TEMP"
ACCOUNT UNLOCK;
GRANT UNLIMITED TABLESPACE TO "ERPUSER" WITH ADMIN OPTION;
GRANT "CONNECT" TO "ERPUSER" WITH ADMIN OPTION;
GRANT "DBA" TO "ERPUSER" WITH ADMIN OPTION;
GRANT "RESOURCE" TO "ERPUSER" WITH ADMIN OPTION;
xcount INTEGER:=0;
BEGIN
SELECT COUNT(*) INTO xcount FROM ALL_TABLES WHERE TABLE_NAME='TBL_AIDENUM';
DBMS_OUTPUT.PUT_LINE(xcount);
IF xcount=1 THEN
BEGIN
-- Create脚本有错
EXECUTE IMMEDIATE 'CREATE TABLE "SYSTEM"."TBL_AIDENUMq"
(
"CHINNUM" VARCHAR2(2) NOT NULL,
"FULLNUM" VARCHAR2(10) NULL,
"AIDENUM" VARCHAR2(2) NULL
)
TABLESPACE "SYSTEM"';
END;
END IF;
END; 我用的ODAC执行的这个,可以执行哈谢谢各位吃了饭了结帖