Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Selecting a row into an object variable: ORA-00947 (using SELECT *)

JackKAug 14 2019 — edited Aug 19 2019

Hello!

I have an object:

create or replace TYPE NWPOJ.REC_ADRES as OBJECT (

ID_ADRES        NUMBER(10)

,ID_KRAJU        NUMBER(10)

,ID_MIEJ          NUMBER(10)

,ID_ULICY        NUMBER(10)

,KRAJ            VARCHAR2(300)

,MIEJSCOWOSC      VARCHAR2(700)

,ULICA            VARCHAR2(1000)

,NR_DOMU          VARCHAR2(100)

,NR_LOKALU        VARCHAR2(40) 

,KOD_POCZTOWY    VARCHAR2(40) 

,POCZTA          VARCHAR2(700)

,ZASTRZEZENIA    VARCHAR2(765)

,STATUS          VARCHAR2(5) 

,DATA_ARCH        DATE 

,OPERATOR        VARCHAR2(90)

,DZIELNICA        VARCHAR2(105)

,GMINA            VARCHAR2(21)

,WOJEWODZTWO      VARCHAR2(150)

,ID_OBADR        NUMBER(12)

,ID_UK            NUMBER(12)

,STATUS_KTR      VARCHAR2(3)

,DATA_OD          DATE

,DATA_DO          DATE

,CECHA_UL        VARCHAR2(20)

,KRAJ_UTF        NVARCHAR2(200)

,MIEJSCOWOSC_UTF  NVARCHAR2(200)

,ULICA_UTF        NVARCHAR2(300)

,NR_DOMU_UTF      NVARCHAR2(50)

);

and a table NWPOJ.ADRES which is a synonym to table KOS.ADRES:

desc kos.adres

Name            Null    Type         

--------------- -------- --------------

ID_ADRES        NOT NULL NUMBER(10)   

ID_KRAJU                NUMBER(10)   

ID_MIEJ                  NUMBER(10)   

ID_ULICY                NUMBER(10)   

KRAJ                    VARCHAR2(300) 

MIEJSCOWOSC              VARCHAR2(700) 

ULICA                    VARCHAR2(1000)

NR_DOMU                  VARCHAR2(100) 

NR_LOKALU                VARCHAR2(40) 

KOD_POCZTOWY            VARCHAR2(40) 

POCZTA                  VARCHAR2(700) 

ZASTRZEZENIA            VARCHAR2(765) 

STATUS                  VARCHAR2(5)   

DATA_ARCH                DATE         

OPERATOR                VARCHAR2(90) 

DZIELNICA                VARCHAR2(105) 

GMINA                    VARCHAR2(21) 

WOJEWODZTWO              VARCHAR2(150) 

ID_OBADR                NUMBER(12)   

ID_UK                    NUMBER(12)   

STATUS_KTR              VARCHAR2(3)   

DATA_OD                  DATE         

DATA_DO                  DATE         

CECHA_UL                VARCHAR2(20) 

KRAJ_UTF                NVARCHAR2(200)

MIEJSCOWOSC_UTF          NVARCHAR2(200)

ULICA_UTF                NVARCHAR2(300)

NR_DOMU_UTF              NVARCHAR2(50)

I am trying to execute a code:

declare

  adr NWPOJ.REC_ADRES := NWPOJ.REC_ADRES(null,null,null,null,null,null,null,

                                        null,null,null,null,null,null,null,

                                        null,null,null,null,null,null,null,

                                        null,null,null,null,null,null,null);

begin

  select * into adr from nwpoj.adres where id_adres=15151;

end;

/

but the result is:

Error report -

ORA-06550: linia 7, kolumna 21:

PL/SQL: ORA-00947: niewystarczająca liczba wartości

ORA-06550: linia 7, kolumna 3:

PL/SQL: SQL Statement ignored

06550. 00000 -  "line %s, column %s:\n%s"

*Cause:    Usually a PL/SQL compilation error.

*Action:

How to fix this? What am I doing wrong?

Regards,

Jacek

Message (subject) was edited by: JackK

Comments
Post Details
Added on Aug 14 2019
9 comments
1,610 views