select '新鸿花园' 建筑物名称,
ga.fulladdr 全地址,
ga.addr_grade 地址等级,
ga.dong 栋数,
ga.danyuan 单元,
ga.ceng 楼层,
ga.fangjian 房间,
fa.stid 标准地址id,
sv.acc_nbr 业务接入号,
sv.zjdz 装机地址
into tmp_heqiyu
from gz_addr ga,
stg_serv sv
where ga.stid=sv.serv_addr_id(+)
and ga.p_stid=56187
order by ga.dong,ga.danyuan,ga.ceng,ga.fangjian这个执行后为何会提示missing keyword的错误?并且显示tmp_heqiyu有错误,把字段后面的汉字去掉也没用,难道是有外连接时就不能这么写了?
ga.fulladdr 全地址,
ga.addr_grade 地址等级,
ga.dong 栋数,
ga.danyuan 单元,
ga.ceng 楼层,
ga.fangjian 房间,
fa.stid 标准地址id,
sv.acc_nbr 业务接入号,
sv.zjdz 装机地址
into tmp_heqiyu
from gz_addr ga,
stg_serv sv
where ga.stid=sv.serv_addr_id(+)
and ga.p_stid=56187
order by ga.dong,ga.danyuan,ga.ceng,ga.fangjian这个执行后为何会提示missing keyword的错误?并且显示tmp_heqiyu有错误,把字段后面的汉字去掉也没用,难道是有外连接时就不能这么写了?
解决方案 »
- mysql数据库导入、导出
- user_indexes 中的last_analyzed 字段是否代表该索引最后一次重建的时间?
- 关于pl/sql developer 的使用
- 急求透明网关内存占用!!!!!
- 新手低级问题请教:重建索引出错
- 请有经验DBA提供日常维护的脚本,包括定时备份、查看表结构、等等
- 请老鸟指点:表结构的设计是字段引用其它表的内容的问题?
- 客户端访问服务器的问题,别嫌菜,因为我就是菜
- 哪里可以找到sql语句的全部资料,比如我想查start with的资料,到那里查好?
- 我的问题是这样的:
- 各位高手这条SQL怎么优化,千万条数据提取要45s以上。。
- 如何把以下SQL语句转换成ORACL语句
你改成:insert into table(column_Name1,column_Name2) select columnN1,columnN2 from table2 where xxxxx ;
以这样形式看看。
create table tmp_heqiyu as
select '新鸿花园' 建筑物名称,
ga.fulladdr 全地址,
ga.addr_grade 地址等级,
ga.dong 栋数,
ga.danyuan 单元,
ga.ceng 楼层,
ga.fangjian 房间,
fa.stid 标准地址id,
sv.acc_nbr 业务接入号,
sv.zjdz 装机地址
from gz_addr ga,
stg_serv sv
where ga.stid=sv.serv_addr_id(+)
and ga.p_stid=56187
order by ga.dong,ga.danyuan,ga.ceng,ga.fangjian
第一句(select into from)要求目标表(destTbl)不存在,因为在插入时会自动创建;
第二句(insert into select from)要求目标表(destTbl)存在。
-- 首先:你的错误有2:
-- 其一:如果你的select 语句的结果一定有且只有一条记录,那么此时你可用select ... into 到 变量(s)-- 其二:你的 select 部分有几个字段,后面就应该用几个变量与之对应起来:
-- 你想一下:某条记录的一个字段的数据只能保存入一个变量,对吧?
-- 那么N个字段的一条数据就应该用N个变量去保存,且注意变量的数据类型与字段的数据类型一致(或保持兼容)
-- 当然:也许你的变量 tmp_heqiyu 是一个类型变量,我想这个时候你这样的操作就应该是正确的,
-- 我也没看到你的 tmp_heqiyu 变量的定义!
-- 给类型变量赋值的例子如下:DECLARE
course_rec course%ROTTYPE;
BEGIN
SELECT *
INTO course_rec
FROM course
WHERE coursc_no = 25; DBMS_OUTPUT.PUT_LINE ('Course No: '||course_rec.course_no);
DBMS_OUTPUT.PUT_LINE ('Course Description: '||course_rec.description);
DBMS_OUTPUT.PUT_LINE ('Prerequisite: '||course_rec.prerequisite);
END;
/
scott@TBWORA> DECLARE
2 v_emp emp%ROWTYPE;
3 BEGIN
4 SELECT *
5 INTO v_emp
6 FROM emp
7 WHERE empno = 7902;
8
9 DBMS_OUTPUT.PUT_LINE ('Empno: '||v_emp.empno);
10 DBMS_OUTPUT.PUT_LINE ('Ename: '||v_emp.ename);
11 DBMS_OUTPUT.PUT_LINE ('Job: '||v_emp.job);
12 DBMS_OUTPUT.PUT_LINE ('Mgr: '||v_emp.mgr);
13 DBMS_OUTPUT.PUT_LINE ('Hiredate: '||to_char(v_emp.hiredate,'yyyy-mm-dd hh24:mi:ss'));
14 DBMS_OUTPUT.PUT_LINE ('Sal: '||v_emp.Sal);
15 DBMS_OUTPUT.PUT_LINE ('Comm: '||v_emp.Comm);
16 DBMS_OUTPUT.PUT_LINE ('Deptno: '||v_emp.deptno);
17 END;
18 /
Empno: 7902
Ename: FORD
Job: ANALYST
Mgr: 7566
Hiredate: 1981-12-03 00:00:00
Sal: 3000
Comm:
Deptno: 20PL/SQL 过程已成功完成。
否则你into的量又有何用?
select '新鸿花园' 建筑物名称,
ga.fulladdr 全地址,
ga.addr_grade 地址等级,
ga.dong 栋数,
ga.danyuan 单元,
ga.ceng 楼层,
ga.fangjian 房间,
fa.stid 标准地址id,
sv.acc_nbr 业务接入号,
sv.zjdz 装机地址
from gz_addr ga,
stg_serv sv
where ga.stid=sv.serv_addr_id(+)
and ga.p_stid=56187
order by ga.dong,ga.danyuan,ga.ceng,ga.fangjian