CREATE OR REPLACE
PROCEDURE PROCEDURE1 AS
BEGIN
CREATE GLOBAL TEMPORARY TABLE email_temp
(name varchar(10),
nm char(10)
);
insert into email_temp;
SELECT case when(INSTR(read_state,',321088770429811,'))>0
then '已读' else '未读' end 阅读状态,count(id) 条
FROM oa_email where INSTR(addressed,',321088770429811,')>0
group by case when(INSTR(read_state,',321088770429811,'))>0
then '已读' else '未读' end ;select * from email_temp;
END PROCEDURE1;报错如下:
Error(4,2): 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 pipe
PROCEDURE PROCEDURE1 AS
BEGIN
CREATE GLOBAL TEMPORARY TABLE email_temp
(name varchar(10),
nm char(10)
);
insert into email_temp;
SELECT case when(INSTR(read_state,',321088770429811,'))>0
then '已读' else '未读' end 阅读状态,count(id) 条
FROM oa_email where INSTR(addressed,',321088770429811,')>0
group by case when(INSTR(read_state,',321088770429811,'))>0
then '已读' else '未读' end ;select * from email_temp;
END PROCEDURE1;报错如下:
Error(4,2): 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 pipe
解决方案 »
- 把 group by b,a中的“a”去掉,但我必须保留select a,b,sum(qty)中的“a”,怎么写这个sql
- 对这段代码不理解
- 创建无大小限制的表空间
- 自己创建了一个新表,如何使自己的用户获得查询和修改这个表的权限,而且自己的用户还可以将该权限转授给其他的用户
- 我在里查询时,为什么ORACLE会说内存溢出,是什么原因?如何解决?
- Oracle登录。。。
- 请教如何用c连接oracle数据库?
- 想问一个问题好久了,oracle到底有没有像sql server那样的联机手册呀?
- 树型结构的查询和输出问题!!
- Oracle中文排序问题?请斑竹或者哪位大虾帮助解决一下!!!!!!急急急!!!!!
- 求救:大家帮忙看下这个存储过程有什么问题啊~急~
- 如何使oracle的表名支持标点符号?
2、不用直接select
insert into email_temp;
SELECT case when(INSTR(read_state,',321088770429811,'))>0
then '已读' else '未读' end 阅读状态,count(id) 条
FROM oa_email where INSTR(addressed,',321088770429811,')>0
group by case when(INSTR(read_state,',321088770429811,'))>0
then '已读' else '未读' end ;select * from email_temp;
create or replace PROCEDURE PROCEDURE1 AS
BEGIN
insert into email_temp values ('zhan',23) ;
END PROCEDURE1;Error(4,3): PL/SQL: SQL Statement ignored
Error(4,15): PL/SQL: ORA-00942: 表或视图不存在
然后用Execute immediate ;
以前好像遇到过类似问题
如system.email_temp