ayuda con select
Publicado por chemian (75 intervenciones) el 27/10/2005 10:05:36
Hola, alguien sabria decirme porque esta select me funciona si la ejecuto en sqlplus y si la ejecuto en un procedimiento me da este error: Error ora00942 la tabla o vista no existe.
En ambos casos entro con el mismo usuario, el cual tiene permisos sobre las vistas del sistema.
Select /*+ RULE */ lk.SID,
SE.SERIAL#,
se.username,
se.OSUser,
se.Machine,
SE.COMMAND,
se.STATUS,
se.SERVER,
se.PROCESS,
UPPER(SE.PROGRAM),
SE.MODULE,
SE.TYPE,
SE.SQL_HASH_VALUE,
SE.ROW_WAIT_OBJ#,
SE.ROW_WAIT_FILE#,
SE.ROW_WAIT_BLOCK#,
SE.ROW_WAIT_ROW#,
SE.LOGON_TIME,
DECODE(lk.TYPE,'TX','Transaction','TM','DML','UL','PL/SQL User Lock',lk.TYPE),
DECODE(lk.lmode,0,'None',1,'Null',2,'Row-S (SS)',3,'Row-X (SX)',4,'Share',5,'S/Row-X (SSX)',6,'Exclusive',TO_CHAR(lk.lmode)),
DECODE(lk.request,0,'None',1,'Null',2,'Row-S (SS)',3,'Row-X (SX)',4,'Share',5,'S/Row-X (SSX)',6,'Exclusive',TO_CHAR(lk.request)),
TO_CHAR(lk.id1),
TO_CHAR(lk.id2),
ob.owner,
ob.object_type,
ob.object_name,
lk.Block,
se.lockwait,
sysdate,
FROM v$lock lk,dba_objects ob,v$session se
WHERE lk.TYPE IN ('TM','UL')
AND lk.SID=se.SID
AND lk.id1=ob.object_id
AND UPPER(ob.owner) <> 'SYS'
Muchas gracias.
En ambos casos entro con el mismo usuario, el cual tiene permisos sobre las vistas del sistema.
Select /*+ RULE */ lk.SID,
SE.SERIAL#,
se.username,
se.OSUser,
se.Machine,
SE.COMMAND,
se.STATUS,
se.SERVER,
se.PROCESS,
UPPER(SE.PROGRAM),
SE.MODULE,
SE.TYPE,
SE.SQL_HASH_VALUE,
SE.ROW_WAIT_OBJ#,
SE.ROW_WAIT_FILE#,
SE.ROW_WAIT_BLOCK#,
SE.ROW_WAIT_ROW#,
SE.LOGON_TIME,
DECODE(lk.TYPE,'TX','Transaction','TM','DML','UL','PL/SQL User Lock',lk.TYPE),
DECODE(lk.lmode,0,'None',1,'Null',2,'Row-S (SS)',3,'Row-X (SX)',4,'Share',5,'S/Row-X (SSX)',6,'Exclusive',TO_CHAR(lk.lmode)),
DECODE(lk.request,0,'None',1,'Null',2,'Row-S (SS)',3,'Row-X (SX)',4,'Share',5,'S/Row-X (SSX)',6,'Exclusive',TO_CHAR(lk.request)),
TO_CHAR(lk.id1),
TO_CHAR(lk.id2),
ob.owner,
ob.object_type,
ob.object_name,
lk.Block,
se.lockwait,
sysdate,
FROM v$lock lk,dba_objects ob,v$session se
WHERE lk.TYPE IN ('TM','UL')
AND lk.SID=se.SID
AND lk.id1=ob.object_id
AND UPPER(ob.owner) <> 'SYS'
Muchas gracias.
Valora esta pregunta


0