Chinaunix
标题:
请各位帮忙看看这个存储过程
[打印本页]
作者:
bishophua
时间:
2004-05-07 21:08
标题:
请各位帮忙看看这个存储过程
(z_nc YONGHU.NC%type,
z_xm YONGHU.XM%type,
z_bm YONGHU.BM%type,
z_mm YONGHU.MM%type,
z_mm1 YONGHU.MM%type) AS
zc_bh YONGHU.BH%type;
z_bh YONGHU.BH%type;
z_dj YONGHU.DJ%type default 1;
BEGIN
select count(BH) into zc_bh from YONGHU where (NC=z_nc and MM=z_mm);
select max(BH)+1 into z_bh from YONGHU;
if zc_bh=0 and z_mm=z_mm1 then
insert into YONGHU(BH,XM,BM,DJ,MM,NC) values(z_bh,z_xm,z_bm,z_dj,z_mm,z_nc);
create table ADMIN.z_nc
(zybh varchar2(20) not null,
zymc char(20),
zylx char(20))
tablespace "YONGHU";
else
PAGE1;
end if;
END;
红色部分是我后加的 未加之前可以编译,加入这段创建表的语句后就编译不通了 错误在“create table.......这一句,请问斑竹及各位老大是什么原因 在线等,谢谢
作者:
zgahj
时间:
2004-05-08 11:03
标题:
请各位帮忙看看这个存储过程
存储过程中是不能直接调用DDL的。即CREATE TABLE 命令。
你可以这样调
EXECUTE IMMEDIATE 'create table ADMIN.z_nc
(zybh varchar2(20) not null,
zymc char(20),
zylx char(20))
tablespace "YONGHU";';
但你的用户需要有CREATE TABLE的权限
作者:
bishophua
时间:
2004-05-09 11:21
标题:
请各位帮忙看看这个存储过程
谢谢 还有 我的z_nc是个变量 如何让他表示,也就是说 我的z_nc可能是其他字符 我要让他如何识别其为变量。谢谢
作者:
lgqdcs
时间:
2004-05-10 15:33
标题:
请各位帮忙看看这个存储过程
参考:
自己拼接表名
declare
strsql varchar2(60);
cursor_name INTEGER;
ret INTEGER;
BEGIN
strsql:='truncate table tbl_s_1861_30';
cursor_name := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(cursor_name, strsql, 0);
ret := DBMS_SQL.EXECUTE(cursor_name);
DBMS_SQL.CLOSE_CURSOR(cursor_name);
END;
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2