select * from EAB.S_KHXX;在pl/sql developer中单独查询可以用的.但是我在存储过程中用到
insert into table1 (a)
select a from t_org_dealer , EAB.S_KHXX
where .....他却说我这个EAB.S_KHXX没有定义.具体出错信息如下:
Error: PL/SQL: SQL Statement ignored
Line: 155
Text: INSERT INTO T_CUST_CUSTOMERError: PLS-00201: 必须说明标识符 'EAB.S_KHXX'
Line: 208
Text: FROM T_CUST_CUSTOMER,EAB.S_KHXX
insert into table1 (a)
select a from t_org_dealer , EAB.S_KHXX
where .....他却说我这个EAB.S_KHXX没有定义.具体出错信息如下:
Error: PL/SQL: SQL Statement ignored
Line: 155
Text: INSERT INTO T_CUST_CUSTOMERError: PLS-00201: 必须说明标识符 'EAB.S_KHXX'
Line: 208
Text: FROM T_CUST_CUSTOMER,EAB.S_KHXX
解决方案 »
- months_between
- 关于导入dmp文件失败问题
- oracle 索引问题!求解!求帮助!!
- 字段值格式如下(001,2|002,2|005,3),要怎样快速的找到该字段中包含值为002,2的记录,该表中的数据量较大(百万起步),除like外有没其它方法
- oracle9i客户端如何通各一台服务器连接另一台服务器上的oracle9i?
- ★★★请问高手一个很简单的dateTime类型转化为字符串类型的问题!★★★
- oracle卸载蓝屏
- 怎样对现有的未分区的表进行分区?
- SQL语句技巧,怎样查询才高效?
- 在向文件中写数据时,tab键怎么实现?是CHAR(9)吗?
- 如何过滤掉含有null的记录
- 条件插入
/*0 接车;1 查定;2 收购;3 整修;4 复核;5 认证;6 销售*/
INSERT INTO T_CAR_STORE
(STOREIDID,
CARID,
CATTYPESETID,
DEALERNO,
BUYUPNO,
VIN,
PLACE,
CANO,
EGNO,
DISPLACEMENT,
RUNNING_MP,
COLOR,
PRODUCTION_DATE,
FIRST_REGISTER_DATE,
CAR_REMARK,
CAR_CATEGORIZE, /*0:未分类1:转售车2:预许可3:预认证4:许可车5:待认证 6:认证车*/
STORE_STATUS, /*0:在库1:已售出*/
CHECK_STATUS, /*0:未检测 1:检测通过(第一次检测就通过的)2:整备通过3:未通过(未整备)4:未通过(整备中)*/
CONFIRM_STATUS, /*0:未申请1:审核中2:驳回3:审核已通过*/
ALLOW_OR_CERTIFICATE, /*0:许可1:认证*/
REMARK,
INCARNO,
INCARTIME,
CUSERID,
CDATE,
MUSERID,
MDATE,
STATUS)
SELECT SEQ_STORE.NEXTVAL,
A.SGLSH,
d.CATTYPESETID ,
A.ZYDBM,
A.SGLSH,
A.VIN,
B.CD,
B.CPH,
B.FDJH,
B.FDJPL,
C.DJLC,
B.CSYS,
B.SCRQ,
B.SPRQ,
' ' CAR_REMARK,
DECODE(C.ZT, '2', '0', '3', '0', '4', '0', '5', '6', '6', '0') CAR_CATEGORIZE,
DECODE(C.ZT, '2', '0', '3', '0', '4', '0', '5', '0', '6', '1') STORE_STATUS,
DECODE(C.ZT, '2', '0', '3', '4', '4', '2', '5', '1', '6', '1') CHECK_STATUS,
DECODE(C.ZT, '2', '0', '3', '0', '4', '0', '5', '3', '6', '0') CONFIRM_STATUS,
DECODE(C.ZT, '2', '', '3', '', '4', '', '5', '1', '6', '') ALLOW_OR_CERTIFICATE,
'' REMARK,
A.HTBH,
A.CZSJ,
'1',
SYSDATE,
'',
'',
'1'
FROM EAB.x_Sght A, EAB.S_ZCXX B, EAB.D_RSCDJ C , t_car_cattypeset d
WHERE A.VIN = B.VIN and d.cartype = b.cx and d.status = 1
AND A.VIN = C.VIN
and a.zydbm = b.zydbm
and a.sglsh = c.sglsh and a.zydbm = c.zydbm
AND C.ZT NOT IN ('0', '1') AND A.ZT = '0'
and a.zydbm = strDealerNo ;这是完整的SQL,在cmd中运行是不会出错的.超级郁闷.作程序这么多年了,第一次遇上这个问题
所以你得SQL是正确的。
但是到了PLsql中,角色赋予的权限就全部无效了。你必须对已用来执行PLSQL的那个User直接赋予访问EAB.S_KHXX的权限。