Procedure failed when using bulk collect clause and works with the cursor

Hi all

I use "BULK collect into" clause in my procedure and it is a failure after 21 minutes and gives the error "end of file communication channel.
After that this error comes when I tried to connect the database it gives following error.

ORA-01034 - Oracle is not available.
ORA - 27101-shared memory realm does not exist.
SVR4 error: 2: no such file or directory.

When I use the cursor instead of the COLLECTION in BULK IN the clause, it runs successfully.

Following the code works with the slider.
procedure work_kiosk_full (an_jobid in number, ac_sqlcode out varchar2, ac_sqlerrm out varchar2) is

ld_curr_time Date;

cursor cur_work_kiosk is
Select distinct jt.jt_id AS jt_id,
NVL ((ROUND ((jt_date_completed-jt_date_requested) * 24, 2)))
),
0
) AS actual_hrs_to_complete,
NVL ((ROUND ((jt_date_responded-jt_date_requested) * 24, 2)))
),
0
) AS actual_hrs_to_respond,
peo1.peo_name AS agent_name,
peo1.peo_user_name AS asagent_soe_id,
Le.lglent_desc AS ap_system,
"" AS assign_work_request_comment,
DECODE (jt.jt_bill_id,
138802, 'BILLABLE CLIENT. "
138803, "CONTRACTED"
"138804, ' BILLABLE IN-HOUSE."
NULL, ' '
) Billable.
BL.bldg_name_cc BUILDING, bl.bldg_id_ls AS building_id,
DECODE (bl.bldg_active_cc,
'Y', 'ACTIVE',
'INACTIVE '.
) AS building_status,
DECODE (jt.jt_wrk_cause_id,
141521, "STANDARD WEAR."
141522, "NEGLIGENCE."
141523, "ACCIDENTAL."
141524, "MECHANICAL FAILURE."
141525, "CONTROL."
141526, "VANDAL."
141527, 'STANDARD ',.
141528, "WORK PROJECT",.
6058229, "TEST."
NULL, ' '
) AS cause_type,
' ' AS comments, peo3.peo_name AS completed_by,
JT.jt_requestor_email AS contact_email,
JT.jt_requestor_name_first
|| ' '
|| JT.jt_requestor_name_last AS contact_name,
JT.jt_requestor_phone AS contact_phone,
CC.cstctrcd_apcode AS corp_code,
CC.cstctrcd_code AS cost_center,
JT.jt_date_closed AS date_closed,
JT.jt_date_completed AS date_completed,
JT.jt_date_requested AS date_requested,
JT.jt_date_responded AS date_responded,
JT.jt_date_response_ecd AS date_response_ecd,
JT.jt_date_scheduled AS date_scheduled,
DECODE (jt.jt_def_id,
139949, "WTG VENDOR RESPONSE."
139950, "WAITING ON PARTS."
139951, "AVAILABILITY OF THE HAND ŒUVRE."
139952, "WORK DEFERRED-HI PRI."
139953, "APPROVAL OF WIND TURBINES."
139954, "FUNDING."
139955, "ACCESS DENIED."
139956, "WTG MATERIAL."
NULL, ' '
) AS deferral_reason,
JT.jt_description as description,
JT.jt_date_resched_ecd IN the development of the young child,
FMG.facility_manager AS facility_manager,
FL.floors_text AS FLOOR, gl.genled_desc AS general_ledger,
'' AS kiosk_date_requested,' ' AS kiosk_dispatch_confirmed.
"" AS kiosk_dispatched,
EQP.equip_customer_code AS linked_equipment_alias,
EQP.equip_id AS linked_equipment_id,
EQP.equip_text AS linked_equipment_name,
DECODE (jt_originator_type_id,
1000, "PROJECT MOVE REQUEST."
138834, "CUSTOMER OPEN CORRECTION."
138835, "OPEN REQUEST CUSTOMER."
138836, "CORRECTIVE MAINTENANCE",.
138837, "BOOKING CONFERENCE ROOM."
138838, "PROJECT INITIATED REQUEST."
138839, "PLANNED PREVENTATIVE MAINTENANCE."
138840, "COULD START FREE APPLICATION."
NULL, ' '
) AS originator_type,
"" AS payment_terms, priority_text AS priority_code,
swoty.sworktype_text AS problem_type,
Prop.property_name_cc as a property,
JT.jt_cost_quote_total AS quote_total,
par.levels_name IN the region,
DECODE (jt.jt_repdef_id,
141534, 'ADJUSTED SETTING. "
141535, "THE TRAINING OF THE END,"
141536, "NEW REQUEST"
141537, "NO INVESTIGATION OF REPAIR."
141538 "REPLACED PARTS."
141539, 'REPLACE EQUIPMEN.
1000699, "NEW REQUEST"
NULL, ' '
) AS repair_definitions,
JT.jt_repairdesc AS MARKED_COR,
JT.jt_requestor AS applicant, ' ' AS requestor_cost_center.
JT.jt_requestor_email AS requestor_email,
JT.jt_requestor_name_first AS requestor_name,
JT.jt_requestor_phone AS requestor_phone,
"" LIKE response_time, rm.room_name_cc ROOM,
P1.peo_provider_code1 AS service_provider,
P1.peo_address_1 AS service_provider_address,
peocity.city_text service_provider_city,
P1.peo_provider_code1 AS service_provider_code,
peocity.city_country_name AS service_provider_country,
peocur.currency_text AS service_provider_currency,
P1.peo_name AS service_provider_description,
P1.peo_dispatch_method AS serv_prov_dispatc_hmethod,
P1.peo_rate_double AS serv_prov_double_time_rate,
P1.peo_email AS service_provider_email,
P1.peo_emergency_phone AS serv_prov_emergency_phone,
P1.peo_fax AS service_provider_fax_number,
P1.peo_home_phone AS service_provider_home_phone,
P1.peo_rate_hourly AS service_provider_hourly_rate,
P1.peo_title AS service_provider_job_title,
P1.peo_method_id AS service_provider_method,
P1.peo_cell_phone AS service_provider_mobile_phone,
P1.peo_pager AS service_provider_pager,
P1.peo_rate_differential AS service_provider_rates,
P1.peo_rate_differential AS ser_prov_shift_differential,
peocity.city_state_prov_text AS serv_prov_state_province,
DECODE (p1.peo_active,
'Y', 'ACTIVE',
'INACTIVE '.
) AS service_provider_status,
P1.peo_url AS serv_prov_web_site_address,
P1.peo_phone AS service_provider_work_phone,
P1.peo_postal_code AS serv_prov_zip_postal_code, ' ' shift, as.
' ' AS skill,.
DECODE (jt.jt_bigstatus_id,
138813, «NEWS»,
138814 "PENDING."
138815, 'OPEN ',.
138816, "END."
138817, 'CLOSED ',.
138818, "CANCELLED."
NULL, ' '
) The STATUS,
Lev.levels_name IN the subregion, ' ' IN the trade.
P1.peo_ls_interface_code1 AS vendor_id,
P1.peo_fax AS vendor_purchasing_fax,
P1.peo_vendor_site_code AS vendor_sitecode,
JT.jt_id AS vendor_ticket, p1.peo_name AS vendor_companyname,
JT.jt_requestor_vip AS vip, wo.wo_id AS work_order_no,
JT.jt_id AS work_request,
JT.jt_class_id AS work_request_class,
woty.worktype_text AS work_type, ' ' AS wr_cost.
JT.jt_description AS wr_description,
"" AS wr_dispatch_method,
DECODE (jt.jt_bigstatus_id,
138813, «NEWS»,
138814 "PENDING."
138815, 'OPEN ',.
138816, "END."
138817, 'CLOSED ',.
138818, "CANCELLED."
NULL, ' '
) AS wr_status,
ctrY.country_name as a country
OF citi.jobticket jt,.
Citi.Property prop,
Citi.Bldg bl,
Citi.bldg_levels bldglvl,
civil LEVEL lev,
civil by LEVELS.
(SELECT crstools.stragg (peo_name) facility_manager,
bldgcon_bldg_id
OF citi.bldg_contacts, citi.people
WHERE bldgcon_peo_id = peo_id
AND IN bldgcon_contype_id (40181, 10142)
FMG GROUP BY bldgcon_bldg_id),
Citi.floors, fl,
Citi.Room rm,
Citi.general_ledger gl,
the Citi.legal_entity
Citi.cost_center_codes cc,
Citi.Equipment eqp,
Citi.workType woty,
Citi.subworktype swoty,
Citi.work_order wo,
Jtwo Citi.jt_workers,
Citi.Priority,
Ctry Citi.Country,
Citi.People p1,
Citi.People peo3,
Citi.People peo1,
Citi.City peocity,
Citi.Currency peocur
WHERE jt.jt_bldg_id = bl.bldg_id
AND bl.bldg_id = bldglvl.bldg_levels_bldg_id
AND bldglvl.bldg_levels_levels_id = lev.levels_id
AND lev.levels_parent = par.levels_id (+)
AND prop.property_id = bl.bldg_property_id
AND bl.bldg_active_ls <>' n
AND jt.jt_floors_id = fl.floors_id (+)
AND jt.jt_room_id = rm.room_id (+)
AND jt.jt_bldg_id = fmg.bldgcon_bldg_id (+)
AND jt.jt_genled_id = gl.genled_id (+)
AND gl.genled_lglent_id = le.lglent_id (+)
AND jt.jt_cstctrcd_id = cc.cstctrcd_id (+)
AND jt.jt_equip_id = eqp.equip_id (+)
AND jt.jt_id = jtwo.jtw_jt_id (+)
AND jt.jt_worktype_id = woty.worktype_id (+)
AND jt.jt_sworktype_id = swoty.sworktype_id (+)
AND jt.jt_wo_id = wo.wo_id
AND jt.jt_priority_id = priority_id (+)
- AND jt.jt_date_requested > = ADD_MONTHS (SYSDATE,-12)
AND jt.jt_last_update > = ADD_MONTHS (ld_curr_time-12)
AND bl.bldg_country_id = ctry.country_id
AND jtwo.jtw_peo_id = p1.peo_id (+)
AND p1.peo_city_id = peocity.city_id (+)
AND jt.jt_completed_by_peo_id = peo3.peo_id (+)
AND p1.peo_rate_currency_id = peocur.currency_id (+)
AND jt.jt_agent_peo_id = peo1.peo_id (+);


BEGIN
run immediately 'truncate table crstools.drt_bom_work_kiosk;
Select sysdate in double ld_curr_time;
FOR cur_rec in cur_work_kiosk LOOP
IF MOD (cur_work_kiosk % rowcount, 10000) = 0 then
COMMIT;
END IF;

INSERT INTO crstools.drt_bom_work_kiosk
(JT_ID
ACTUAL_HRS_TO_COMPLETE
ACTUAL_HRS_TO_RESPOND
AGENT_NAME
ASAGENT_SOE_ID
AP_SYSTEM
ASSIGN_WORK_REQUEST_COMMENT
BILLABLE
BUILDING
BUILDING_ID
BUILDING_STATUS
CAUSE_TYPE
COMMENTS
COMPLETED_BY
CONTACT_EMAIL
CONTACT_NAME
CONTACT_PHONE
CORP_CODE
COST_CENTER
DATE_CLOSED
DATE_COMPLETED
DATE_REQUESTED
DATE_RESPONDED
DATE_RESPONSE_ECD
DATE_SCHEDULED
DEFERRAL_REASON
DESCRIPTION
DPE
FACILITY_MANAGER
FLOOR
GENERAL_LEDGER
KIOSK_DATE_REQUESTED
KIOSK_DISPATCH_CONFIRMED
KIOSK_DISPATCHED
LINKED_EQUIPMENT_ALIAS
LINKED_EQUIPMENT_ID
LINKED_EQUIPMENT_NAME
ORIGINATOR_TYPE
PAYMENT_TERMS
PRIORITY_CODE
PROBLEM_TYPE
PROPERTY
QUOTE_TOTAL
REGION
REPAIR_DEFINITIONS
MARKED_COR
APPLICANT
REQUESTOR_COST_CENTER
REQUESTOR_EMAIL
REQUESTOR_NAME
REQUESTOR_PHONE
RESPONSE_TIME
ROOM
SERVICE_PROVIDER
SERVICE_PROVIDER_ADDRESS
SERVICE_PROVIDER_CITY
SERVICE_PROVIDER_CODE
SERVICE_PROVIDER_COUNTRY
SERVICE_PROVIDER_CURRENCY
SERVICE_PROVIDER_DESCRIPTION
SERV_PROV_DISPATC_HMETHOD
SERV_PROV_DOUBLE_TIME_RATE
SERVICE_PROVIDER_EMAIL
SERV_PROV_EMERGENCY_PHONE
SERVICE_PROVIDER_FAX_NUMBER
SERVICE_PROVIDER_HOME_PHONE
SERVICE_PROVIDER_HOURLY_RATE
SERVICE_PROVIDER_JOB_TITLE
SERVICE_PROVIDER_METHOD
SERVICE_PROVIDER_MOBILE_PHONE
SERVICE_PROVIDER_PAGER
SERVICE_PROVIDER_RATES
SER_PROV_SHIFT_DIFFERENTIAL
SERV_PROV_STATE_PROVINCE
SERVICE_PROVIDER_STATUS
SERV_PROV_WEB_SITE_ADDRESS
SERVICE_PROVIDER_WORK_PHONE
SERV_PROV_ZIP_POSTAL_CODE
MAJ
SKILLS
STATUS
SUBREGION
TRADE
VENDOR_ID
VENDOR_PURCHASING_FAX
VENDOR_SITECODE
VENDOR_TICKET
VENDOR_COMPANYNAME
VIP
WORK_ORDER_NO
WORK_REQUEST
WORK_REQUEST_CLASS
WORK_TYPE
WR_COST
WR_DESCRIPTION
WR_DISPATCH_METHOD
WR_STATUS
COUNTRY
CREATE_DATE
)
VALUES
(cur_rec.jt_id
cur_rec, ACTUAL_HRS_TO_COMPLETE
cur_rec, ACTUAL_HRS_TO_RESPOND
cur_rec, AGENT_NAME
cur_rec, ASAGENT_SOE_ID
cur_rec, AP_SYSTEM
cur_rec, ASSIGN_WORK_REQUEST_COMMENT
BILLABLE cur_rec.
cur_rec, BUILDING
cur_rec, BUILDING_ID
cur_rec, BUILDING_STATUS
cur_rec, CAUSE_TYPE
cur_rec.COMMENTS
cur_rec.COMPLETED_BY
cur_rec, CONTACT_EMAIL
cur_rec, CONTACT_NAME
cur_rec, CONTACT_PHONE
cur_rec, CORP_CODE
cur_rec, COST_CENTER
cur_rec, DATE_CLOSED
cur_rec, DATE_COMPLETED
cur_rec, DATE_REQUESTED
cur_rec, DATE_RESPONDED
cur_rec, DATE_RESPONSE_ECD
cur_rec, DATE_SCHEDULED
cur_rec, DEFERRAL_REASON
cur_rec, DESCRIPTION
cur_rec, DEVELOPMENT OF THE YOUNG CHILD
cur_rec, FACILITY_MANAGER
cur_rec, FLOOR
cur_rec, GENERAL_LEDGER
cur_rec, KIOSK_DATE_REQUESTED
cur_rec, KIOSK_DISPATCH_CONFIRMED
cur_rec, KIOSK_DISPATCHED
cur_rec, LINKED_EQUIPMENT_ALIAS
cur_rec, LINKED_EQUIPMENT_ID
cur_rec, LINKED_EQUIPMENT_NAME
cur_rec, ORIGINATOR_TYPE
cur_rec, PAYMENT_TERMS
cur_rec, PRIORITY_CODE
cur_rec, PROBLEM_TYPE
cur_rec, PROPERTY
cur_rec, QUOTE_TOTAL
cur_rec, REGION
cur_rec, REPAIR_DEFINITIONS
cur_rec, MARKED_COR
cur_rec, APPLICANT
cur_rec, REQUESTOR_COST_CENTER
cur_rec, REQUESTOR_EMAIL
cur_rec, REQUESTOR_NAME
cur_rec, REQUESTOR_PHONE
cur_rec, RESPONSE_TIME
cur_rec, ROOM
cur_rec, SERVICE_PROVIDER
cur_rec, SERVICE_PROVIDER_ADDRESS
cur_rec, SERVICE_PROVIDER_CITY
cur_rec, SERVICE_PROVIDER_CODE
cur_rec, SERVICE_PROVIDER_COUNTRY
cur_rec, SERVICE_PROVIDER_CURRENCY
cur_rec, SERVICE_PROVIDER_DESCRIPTION
cur_rec, SERV_PROV_DISPATC_HMETHOD
cur_rec, SERV_PROV_DOUBLE_TIME_RATE
cur_rec, SERVICE_PROVIDER_EMAIL
cur_rec, SERV_PROV_EMERGENCY_PHONE
cur_rec, SERVICE_PROVIDER_FAX_NUMBER
cur_rec, SERVICE_PROVIDER_HOME_PHONE
cur_rec, SERVICE_PROVIDER_HOURLY_RATE
cur_rec, SERVICE_PROVIDER_JOB_TITLE
cur_rec, SERVICE_PROVIDER_METHOD
cur_rec, SERVICE_PROVIDER_MOBILE_PHONE
cur_rec, SERVICE_PROVIDER_PAGER
cur_rec, SERVICE_PROVIDER_RATES
cur_rec, SER_PROV_SHIFT_DIFFERENTIAL
cur_rec, SERV_PROV_STATE_PROVINCE
cur_rec, SERVICE_PROVIDER_STATUS
cur_rec, SERV_PROV_WEB_SITE_ADDRESS
cur_rec, SERVICE_PROVIDER_WORK_PHONE
cur_rec, SERV_PROV_ZIP_POSTAL_CODE
cur_rec, UPDATE
cur_rec SKILL.
cur_rec, STATUS
cur_rec subregion.
cur_rec, TRADE
cur_rec, VENDOR_ID
cur_rec, VENDOR_PURCHASING_FAX
cur_rec, VENDOR_SITECODE
cur_rec, VENDOR_TICKET
cur_rec, VENDOR_COMPANYNAME
cur_rec, VIP
cur_rec, WORK_ORDER_NO
cur_rec, WORK_REQUEST
cur_rec, WORK_REQUEST_CLASS
cur_rec, WORK_TYPE
cur_rec, WR_COST
cur_rec, WR_DESCRIPTION
cur_rec, WR_DISPATCH_METHOD
cur_rec, WR_STATUS
cur_rec, COUNTRY
ld_curr_time
);
END LOOP;

COMMIT;

exception
while others then
Rollback;
dbms_output.put_line('SQLCODE:'||) SQLCODE. "Error :'|| SQLERRM);

end work_kiosk_full;

Note: total record inserted 849000.

The same code does not work with big collect in would adopt.

Please help me why this is happening.


Thanks and greetings
Shyam ~.

Shyam,

I agree with Billy.

Why are you not using an INSERT..SELECT ?

Also, what are you trying to achieve by
- incremental commits?
- copying data from one table to another (using expensive I/O)?
- using dynamic DML?

Most of these approaches are typically wrong - and not recommended for scalable and performant Oracle applications.

I could see you using a CURSOR for LOOP if you change the data inserted so that you could not encapsulate the changes in a query, but you do an insert in right in the table of your cursor. A much more effective way would be to use the following changes I made to your code sample:

PROCEDURE WORK_KIOSK_FULL(AN_JOBID   IN NUMBER,
                          AC_SQLCODE OUT VARCHAR2,
                          AC_SQLERRM OUT VARCHAR2) IS
BEGIN
   EXECUTE IMMEDIATE 'truncate table crstools.drt_bom_work_kiosk';

   /* Note:  The APPEND hint forces a Direct Path INSERT (see Link below code sample) and is combined with the NOLOGGING Hint */
   /*        To dramtically increase performance.  The Direct Path INSERT inserts records above the High-Water Mark on the table. */

   INSERT /*+ APPEND NOLOGGING */ INTO CRSTOOLS.DRT_BOM_WORK_KIOSK
      (JT_ID
      ,ACTUAL_HRS_TO_COMPLETE
      ,ACTUAL_HRS_TO_RESPOND
      ,AGENT_NAME
      ,ASAGENT_SOE_ID
      ,AP_SYSTEM
--      ,ASSIGN_WORK_REQUEST_COMMENT     /* I commented out this COLUMN because it doesn't make sense to me to insert */
      ,BILLABLE                          /* a couple of space characters into a table.   If the intent is to leave the column NULL */
      ,BUILDING                          /* don't include it in your INSERT statement and it will be NULL.  If there is a valid reason */
      ,BUILDING_ID                       /* for inserting the spaces, then remove the "line comments" from the insert and select statments */
      ,BUILDING_STATUS
      ,CAUSE_TYPE
--      ,COMMENTS
      ,COMPLETED_BY
      ,CONTACT_EMAIL
      ,CONTACT_NAME
      ,CONTACT_PHONE
      ,CORP_CODE
      ,COST_CENTER
      ,DATE_CLOSED
      ,DATE_COMPLETED
      ,DATE_REQUESTED
      ,DATE_RESPONDED
      ,DATE_RESPONSE_ECD
      ,DATE_SCHEDULED
      ,DEFERRAL_REASON
      ,DESCRIPTION
      ,ECD
      ,FACILITY_MANAGER
      ,FLOOR
      ,GENERAL_LEDGER
--      ,KIOSK_DATE_REQUESTED
--      ,KIOSK_DISPATCH_CONFIRMED
--      ,KIOSK_DISPATCHED
      ,LINKED_EQUIPMENT_ALIAS
      ,LINKED_EQUIPMENT_ID
      ,LINKED_EQUIPMENT_NAME
      ,ORIGINATOR_TYPE
--      ,PAYMENT_TERMS
      ,PRIORITY_CODE
      ,PROBLEM_TYPE
      ,PROPERTY
      ,QUOTE_TOTAL
      ,REGION
      ,REPAIR_DEFINITIONS
      ,REPAIR_DESCRIPTION
      ,REQUESTOR
--      ,REQUESTOR_COST_CENTER
      ,REQUESTOR_EMAIL
      ,REQUESTOR_NAME
      ,REQUESTOR_PHONE
--      ,RESPONSE_TIME
      ,ROOM
      ,SERVICE_PROVIDER
      ,SERVICE_PROVIDER_ADDRESS
      ,SERVICE_PROVIDER_CITY
      ,SERVICE_PROVIDER_CODE
      ,SERVICE_PROVIDER_COUNTRY
      ,SERVICE_PROVIDER_CURRENCY
      ,SERVICE_PROVIDER_DESCRIPTION
      ,SERV_PROV_DISPATC_HMETHOD
      ,SERV_PROV_DOUBLE_TIME_RATE
      ,SERVICE_PROVIDER_EMAIL
      ,SERV_PROV_EMERGENCY_PHONE
      ,SERVICE_PROVIDER_FAX_NUMBER
      ,SERVICE_PROVIDER_HOME_PHONE
      ,SERVICE_PROVIDER_HOURLY_RATE
      ,SERVICE_PROVIDER_JOB_TITLE
      ,SERVICE_PROVIDER_METHOD
      ,SERVICE_PROVIDER_MOBILE_PHONE
      ,SERVICE_PROVIDER_PAGER
      ,SERVICE_PROVIDER_RATES
      ,SER_PROV_SHIFT_DIFFERENTIAL
      ,SERV_PROV_STATE_PROVINCE
      ,SERVICE_PROVIDER_STATUS
      ,SERV_PROV_WEB_SITE_ADDRESS
      ,SERVICE_PROVIDER_WORK_PHONE
      ,SERV_PROV_ZIP_POSTAL_CODE
--      ,SHIFT
--      ,SKILL
      ,STATUS
      ,SUBREGION
--      ,TRADE
      ,VENDOR_ID
      ,VENDOR_PURCHASING_FAX
      ,VENDOR_SITECODE
      ,VENDOR_TICKET
      ,VENDOR_COMPANYNAME
      ,VIP
      ,WORK_ORDER_NO
      ,WORK_REQUEST
      ,WORK_REQUEST_CLASS
      ,WORK_TYPE
--      ,WR_COST
      ,WR_DESCRIPTION
--      ,WR_DISPATCH_METHOD
      ,WR_STATUS
      ,COUNTRY
      ,CREATE_DATE
      )
   VALUES
      (SELECT DISTINCT
          JT.JT_ID AS JT_ID
         ,NVL((ROUND((JT_DATE_COMPLETED - JT_DATE_REQUESTED) * 24,2)),0) AS ACTUAL_HRS_TO_COMPLETE
         ,NVL((ROUND((JT_DATE_RESPONDED - JT_DATE_REQUESTED) * 24,2)),0) AS ACTUAL_HRS_TO_RESPOND
         ,PEO1.PEO_NAME AS AGENT_NAME
         ,PEO1.PEO_USER_NAME AS ASAGENT_SOE_ID
         ,LE.LGLENT_DESC AS AP_SYSTEM
--         ,' ' AS ASSIGN_WORK_REQUEST_COMMENT
         ,DECODE(JT.JT_BILL_ID,138802,'CLIENT BILLABLE'
                              ,138803,'CONTRACTED'
                              ,138804,'INTERNAL BILLABLE',NULL,' ') AS BILLABLE
         ,BL.BLDG_NAME_CC AS BUILDING
         ,BL.BLDG_ID_LS AS BUILDING_ID
         ,DECODE(BL.BLDG_ACTIVE_CC, 'Y', 'ACTIVE', 'INACTIVE') AS BUILDING_STATUS
         ,DECODE(JT.JT_WRK_CAUSE_ID,141521,'STANDARD WEAR AND TEAR'
                                   ,141522,'NEGLIGENCE'
                                   ,141523,'ACCIDENTAL'
                                   ,141524,'MECHANICAL MALFUNCTION'
                                   ,141525,'OVERSIGHT'
                                   ,141526,'VANDAL'
                                   ,141527,'STANDARD'
                                   ,141528,'PROJECT WORK'
                                   ,6058229,'TEST',NULL,' ') AS CAUSE_TYPE
--         ,' ' AS COMMENTS
         ,PEO3.PEO_NAME AS COMPLETED_BY
         ,JT.JT_REQUESTOR_EMAIL AS CONTACT_EMAIL
         ,JT.JT_REQUESTOR_NAME_FIRST || ' ' ||JT.JT_REQUESTOR_NAME_LAST AS CONTACT_NAME
         ,JT.JT_REQUESTOR_PHONE AS CONTACT_PHONE
         ,CC.CSTCTRCD_APCODE AS CORP_CODE
         ,CC.CSTCTRCD_CODE AS COST_CENTER
         ,JT.JT_DATE_CLOSED AS DATE_CLOSED
         ,JT.JT_DATE_COMPLETED AS DATE_COMPLETED
         ,JT.JT_DATE_REQUESTED AS DATE_REQUESTED
         ,JT.JT_DATE_RESPONDED AS DATE_RESPONDED
         ,JT.JT_DATE_RESPONSE_ECD AS DATE_RESPONSE_ECD
         ,JT.JT_DATE_SCHEDULED AS DATE_SCHEDULED
         ,DECODE(JT.JT_DEF_ID,139949,'WTG VENDOR RESPONSE'
                             ,139950,'WAITING ON PARTS'
                             ,139951,'LABOR AVAILABILITY'
                             ,139952,'DEFERRED- HI PRI WORK'
                             ,139953,'WTG APPROVAL'
                             ,139954,'FUNDING REQUIRED'
                             ,139955,'ACCESS DENIED'
                             ,139956,'WTG MATERIAL',NULL,' ') AS DEFERRAL_REASON
         ,JT.JT_DESCRIPTION AS DESCRIPTION
         ,JT.JT_DATE_RESCHED_ECD AS ECD
         ,FMG.FACILITY_MANAGER AS FACILITY_MANAGER
         ,FL.FLOORS_TEXT AS FLOOR
         ,GL.GENLED_DESC AS GENERAL_LEDGER
--         ,' ' AS KIOSK_DATE_REQUESTED
--         ,' ' AS KIOSK_DISPATCH_CONFIRMED
--         ,' ' AS KIOSK_DISPATCHED
         ,EQP.EQUIP_CUSTOMER_CODE AS LINKED_EQUIPMENT_ALIAS
         ,EQP.EQUIP_ID AS LINKED_EQUIPMENT_ID
         ,EQP.EQUIP_TEXT AS LINKED_EQUIPMENT_NAME
         ,DECODE(JT_ORIGINATOR_TYPE_ID,1000,'PROJECT MOVE REQUEST'
                                      ,138834,'CUSTOMER INITIATED CORRECTION'
                                      ,138835,'CUSTOMER INITIATED REQUEST'
                                      ,138836,'CORRECTIVE MAINTENANCE'
                                      ,138837,'CONFERENCE ROOM BOOKING'
                                      ,138838,'PROJECT INITIATED REQUEST'
                                      ,138839,'PLANNED PREVENTIVE MAINTENANCE'
                                      ,138840,'SELF INITATED REQUEST',NULL,' ') AS ORIGINATOR_TYPE
--         ,' ' AS PAYMENT_TERMS
         ,PRIORITY_TEXT AS PRIORITY_CODE
         ,SWOTY.SWORKTYPE_TEXT AS PROBLEM_TYPE
         ,PROP.PROPERTY_NAME_CC AS PROPERTY
         ,JT.JT_COST_QUOTE_TOTAL AS QUOTE_TOTAL
         ,PAR.LEVELS_NAME AS REGION
         ,DECODE(JT.JT_REPDEF_ID,141534,'ADJUSTED SETTING'
                                ,141535,'TRAINING FOR END'
                                ,141536,'NEW REQUEST'
                                ,141537,'NO REPAIR REQUIR'
                                ,141538,'REPLACED PARTS'
                                ,141539,'REPLACE EQUIPMEN'
                                ,1000699,'NEW REQUEST',NULL,' ') AS REPAIR_DEFINITIONS
         ,JT.JT_REPAIRDESC AS REPAIR_DESCRIPTION
         ,JT.JT_REQUESTOR AS REQUESTOR
--         ,' ' AS REQUESTOR_COST_CENTER
         ,JT.JT_REQUESTOR_EMAIL AS REQUESTOR_EMAIL
         ,JT.JT_REQUESTOR_NAME_FIRST AS REQUESTOR_NAME
         ,JT.JT_REQUESTOR_PHONE AS REQUESTOR_PHONE
--         ,' ' AS RESPONSE_TIME
         ,RM.ROOM_NAME_CC AS ROOM
         ,P1.PEO_PROVIDER_CODE1 AS SERVICE_PROVIDER
         ,P1.PEO_ADDRESS_1 AS SERVICE_PROVIDER_ADDRESS
         ,PEOCITY.CITY_TEXT SERVICE_PROVIDER_CITY
         ,P1.PEO_PROVIDER_CODE1 AS SERVICE_PROVIDER_CODE
         ,PEOCITY.CITY_COUNTRY_NAME AS SERVICE_PROVIDER_COUNTRY
         ,PEOCUR.CURRENCY_TEXT AS SERVICE_PROVIDER_CURRENCY
         ,P1.PEO_NAME AS SERVICE_PROVIDER_DESCRIPTION
         ,P1.PEO_DISPATCH_METHOD AS SERV_PROV_DISPATC_HMETHOD
         ,P1.PEO_RATE_DOUBLE AS SERV_PROV_DOUBLE_TIME_RATE
         ,P1.PEO_EMAIL AS SERVICE_PROVIDER_EMAIL
         ,P1.PEO_EMERGENCY_PHONE AS SERV_PROV_EMERGENCY_PHONE
         ,P1.PEO_FAX AS SERVICE_PROVIDER_FAX_NUMBER
         ,P1.PEO_HOME_PHONE AS SERVICE_PROVIDER_HOME_PHONE
         ,P1.PEO_RATE_HOURLY AS SERVICE_PROVIDER_HOURLY_RATE
         ,P1.PEO_TITLE AS SERVICE_PROVIDER_JOB_TITLE
         ,P1.PEO_METHOD_ID AS SERVICE_PROVIDER_METHOD
         ,P1.PEO_CELL_PHONE AS SERVICE_PROVIDER_MOBILE_PHONE
         ,P1.PEO_PAGER AS SERVICE_PROVIDER_PAGER
         ,P1.PEO_RATE_DIFFERENTIAL AS SERVICE_PROVIDER_RATES
         ,P1.PEO_RATE_DIFFERENTIAL AS SER_PROV_SHIFT_DIFFERENTIAL
         ,PEOCITY.CITY_STATE_PROV_TEXT AS SERV_PROV_STATE_PROVINCE
         ,DECODE(P1.PEO_ACTIVE, 'Y', 'ACTIVE', 'INACTIVE') AS SERVICE_PROVIDER_STATUS
         ,P1.PEO_URL AS SERV_PROV_WEB_SITE_ADDRESS
         ,P1.PEO_PHONE AS SERVICE_PROVIDER_WORK_PHONE
         ,P1.PEO_POSTAL_CODE AS SERV_PROV_ZIP_POSTAL_CODE
--         ,' ' AS SHIFT
--         ,' ' AS SKILL
         ,DECODE(JT.JT_BIGSTATUS_ID,138813,'NEW'
                                   ,138814,'PENDING'
                                   ,138815,'OPEN'
                                   ,138816,'COMPLETED'
                                   ,138817,'CLOSED'
                                   ,138818,'CANCELLED',NULL,' ') AS STATUS
         ,LEV.LEVELS_NAME AS SUBREGION
--         ,' ' AS TRADE
         ,P1.PEO_LS_INTERFACE_CODE1 AS VENDOR_ID
         ,P1.PEO_FAX AS VENDOR_PURCHASING_FAX
         ,P1.PEO_VENDOR_SITE_CODE AS VENDOR_SITECODE
         ,JT.JT_ID AS VENDOR_TICKET
         ,P1.PEO_NAME AS VENDOR_COMPANYNAME
         ,JT.JT_REQUESTOR_VIP AS VIP
         ,WO.WO_ID AS WORK_ORDER_NO
         ,JT.JT_ID AS WORK_REQUEST
         ,JT.JT_CLASS_ID AS WORK_REQUEST_CLASS
         ,WOTY.WORKTYPE_TEXT AS WORK_TYPE
--         ,' ' AS WR_COST
         ,JT.JT_DESCRIPTION AS WR_DESCRIPTION
--         ,' ' AS WR_DISPATCH_METHOD
         ,DECODE(JT.JT_BIGSTATUS_ID,138813,'NEW'
                                   ,138814,'PENDING'
                                   ,138815,'OPEN'
                                   ,138816,'COMPLETED'
                                   ,138817,'CLOSED'
                                   ,138818,'CANCELLED',NULL,' ') AS WR_STATUS
         ,CTRY.COUNTRY_NAME AS COUNTRY
         ,SYSDATE --LD_CURR_TIME
     FROM CITI.JOBTICKET JT,
          CITI.PROPERTY PROP,
          CITI.BLDG BL,
          CITI.BLDG_LEVELS BLDGLVL,
          CITI.LEVELS LEV,
          CITI.LEVELS PAR,
          (SELECT CRSTOOLS.STRAGG(PEO_NAME) FACILITY_MANAGER,
                  BLDGCON_BLDG_ID
             FROM CITI.BLDG_CONTACTS, CITI.PEOPLE
            WHERE BLDGCON_PEO_ID = PEO_ID
              AND BLDGCON_CONTYPE_ID IN (40181, 10142)
            GROUP BY BLDGCON_BLDG_ID) FMG,
          CITI.FLOORS FL,
          CITI.ROOM RM,
          CITI.GENERAL_LEDGER GL,
          CITI.LEGAL_ENTITY LE,
          CITI.COST_CENTER_CODES CC,
          CITI.EQUIPMENT EQP,
          CITI.WORKTYPE WOTY,
          CITI.SUBWORKTYPE SWOTY,
          CITI.WORK_ORDER WO,
          CITI.JT_WORKERS JTWO,
          CITI.PRIORITY,
          CITI.COUNTRY CTRY,
          CITI.PEOPLE P1,
          CITI.PEOPLE PEO3,
          CITI.PEOPLE PEO1,
          CITI.CITY PEOCITY,
          CITI.CURRENCY PEOCUR
    WHERE JT.JT_BLDG_ID = BL.BLDG_ID
      AND BL.BLDG_ID = BLDGLVL.BLDG_LEVELS_BLDG_ID
      AND BLDGLVL.BLDG_LEVELS_LEVELS_ID = LEV.LEVELS_ID
      AND LEV.LEVELS_PARENT = PAR.LEVELS_ID(+)
      AND PROP.PROPERTY_ID = BL.BLDG_PROPERTY_ID
      AND BL.BLDG_ACTIVE_LS = 'N'
      AND JT.JT_FLOORS_ID = FL.FLOORS_ID(+)
      AND JT.JT_ROOM_ID = RM.ROOM_ID(+)
      AND JT.JT_BLDG_ID = FMG.BLDGCON_BLDG_ID(+)
      AND JT.JT_GENLED_ID = GL.GENLED_ID(+)
      AND GL.GENLED_LGLENT_ID = LE.LGLENT_ID(+)
      AND JT.JT_CSTCTRCD_ID = CC.CSTCTRCD_ID(+)
      AND JT.JT_EQUIP_ID = EQP.EQUIP_ID(+)
      AND JT.JT_ID = JTWO.JTW_JT_ID(+)
      AND JT.JT_WORKTYPE_ID = WOTY.WORKTYPE_ID(+)
      AND JT.JT_SWORKTYPE_ID = SWOTY.SWORKTYPE_ID(+)
      AND JT.JT_WO_ID = WO.WO_ID
      AND JT.JT_PRIORITY_ID = PRIORITY_ID(+)
         --AND jt.jt_date_requested >= ADD_MONTHS (SYSDATE, -12)
      AND JT.JT_LAST_UPDATE >= ADD_MONTHS(LD_CURR_TIME, -12)
      AND BL.BLDG_COUNTRY_ID = CTRY.COUNTRY_ID
      AND JTWO.JTW_PEO_ID = P1.PEO_ID(+)
      AND P1.PEO_CITY_ID = PEOCITY.CITY_ID(+)
      AND JT.JT_COMPLETED_BY_PEO_ID = PEO3.PEO_ID(+)
      AND P1.PEO_RATE_CURRENCY_ID = PEOCUR.CURRENCY_ID(+)
      AND JT.JT_AGENT_PEO_ID = PEO1.PEO_ID(+)
      );

   COMMIT;

EXCEPTION
   WHEN OTHERS THEN
      ROLLBACK;
      DBMS_OUTPUT.PUT_LINE('SQLCODE :' || SQLCODE || ' Error :' || SQLERRM);

END WORK_KIOSK_FULL;

Here is the link for infor the [Oracle Direct - Path INSERT | http://download.oracle.com/docs/cd/B10501_01/server.920/a96524/c21dlins.htm#10778].

Also, if you are really wanting to use a CURSOR for LOOP COLLECTION in BULK, I suggest you read the article by Steven Feuerstein [PL/SQL practices: GEM VRAC | http://www.oracle.com/technology/oramag/oracle/08-mar/o28plsql.html].

I hope this helps.
Craig...

If my response or response from another person was helpful, please mark accordingly

Tags: Database

Similar Questions

  • How to use Bulk collect in dynamic SQL with the example below:

    My Question is

    Using of dynamic SQL with collection in bulkif we pass the name of the table as "to the parameter' function, I want to display those

    An array of column names without vowels (replace the vowels by spaces or remove vowels and display).

    Please explain for example.

    Thank you!!

    It's just a predefined type

    SQL> desc sys.OdciVarchar2List
     sys.OdciVarchar2List VARRAY(32767) OF VARCHAR2(4000)
    

    You can just as easily declare your own collection type (and you are probably better served declaring your own type of readability if nothing else)

    SQL> ed
    Wrote file afiedt.buf
    
      1  CREATE OR REPLACE
      2     PROCEDURE TBL_COLS_NO_VOWELS(
      3                                  p_owner VARCHAR2,
      4                                  p_tbl   VARCHAR2
      5                                 )
      6  IS
      7     TYPE vc2_tbl IS TABLE OF varchar2(4000);
      8     v_col_list vc2_tbl ;
      9  BEGIN
     10      EXECUTE IMMEDIATE 'SELECT COLUMN_NAME FROM DBA_TAB_COLUMNS WHERE OWNER = :1 AND TABLE_NAME = :2 ORDER BY COLUMN_ID'
     11         BULK COLLECT
     12         INTO v_col_list
     13        USING p_owner,
     14              p_tbl;
     15      FOR v_i IN 1..v_col_list.COUNT LOOP
     16        DBMS_OUTPUT.PUT_LINE(TRANSLATE(v_col_list(v_i),'1AEIOU','1'));
     17      END LOOP;
     18*  END;
    SQL> /
    
    Procedure created.
    
    SQL> exec tbl_cols_no_vowels( 'SCOTT', 'EMP' );
    MPN
    NM
    JB
    MGR
    HRDT
    SL
    CMM
    DPTN
    
    PL/SQL procedure successfully completed.
    

    Justin

  • I just pass the parameters and software my PowerBook has a new Mac Pro. All CC software download is here and work, with the exception of the CC and there is no way to install.

    I just upgraded the software and settings, include CC, of my PowerBook for a new Mac Pro. All CC software download is here and work, with the exception of the CC and there is no way to install. I try because whenever I restar keep bothering asking for installation, (by the way, the link is not updated). You will appreciate your help.

    never migrate adobe software.  It must be properly installed.

    Uninstall all the programs of cc you can, clean and reinstall then by, use the CC cleaning tool to resolve installation problems. CC, CS3 - CS6

  • Files created with Illustrator CS2 12.0.0 version will be compatible and works with the latest version of Illustrator.  The files are registered as *.ai------.

    I have an older version of Illustrator and you want to upgrade.  My question is: files created with Illustrator CS2 12.0.0 version will be compatible and works with the latest version of Illustrator.  The files are recorded as * .ai?

    That should be no problem.

    Text will be redistributed without doubt if you want to change it.

  • Failure of the assertion when using Labview ActiveX functions to communicate with the dll

    Hello

    I'm looking for suggestions and tips about the following error that I get when I use .NET Labview functions to communicate with the dll written in .NET environment. I just need a starting pointer on where can I search for the origin of this error. I am a newbie in. NET.

    I am also attaching the .vi I use, if this is of any help. All suggestions are welcome!  Thank you.

    The origin of the error found after studying the examples provided by the OR .NET. The callback function had to be moved out of the loop, which solved the problem.

  • High resolution quality of the State of stocks, Adobe and work with the previews?

    I used Sutterstock in the past, but being a CC subscriber, I am seriously investigate Adobe Stock.

    Because you don't actually see the image high resolution up to that after purchasing with Adobe Stock I can't say how easily compare its inventory with Sutterstock.

    I downloaded preview AdobeStock_52339199_WM which was, of course, low resolution and it was much smaller in size (preview 1000 x 662 cases real is 4590 x 3040).  Therefore, I really could not do anything with the preview since it's a "postage stamp" even if Larry White was a video how I was suppose to be able to work with the preview in Photoshop and when done, then buy the license.  And once again, in low resolution, I had know idea, with regard to the quality of the finished product, I'd be buying.

    Any help on these questions would be greatly appreciated.

    Hi Ray,

    I understand your concern. However, from now on, you will only be able to download the image in watermark, which is a version low resolution of the image. If you like, you can buy a version the same high resolution.

    Your comments are appreciated.

    ~ David

  • make exception when using BUlk collect

    Hi all

    version of DB 10 g

    I've written a procedure as below
    create or replace procedure test_proc2 is
    
    type v_emp_rec is record 
    (empno number,
    ename varchar2 (200));
    
    type v_emp_tab is table of v_emp_rec index by binary_integer;
    
    v_tab v_emp_tab;
    
    begin
    
    select empno,ename
    into v_tab(0)
    from emp
    where empno = 7369;
    
    dbms_output.put_line (v_tab(0).ename);
    
    exception 
    when no_data_found then
    dbms_output.put_line ('I am in no data found exception');
    end;
    now, I tried to perform the procedure below
    begin
    test_proc2;
    end;
    the foregoing is works well, but I want to use the functionality of collection in bulk so I use as below
    create or replace procedure test_proc2 is
    
    type v_emp_rec is record 
    (empno number,
    ename varchar2 (200));
    
    type v_emp_tab is table of v_emp_rec index by binary_integer;
    
    v_tab v_emp_tab;
    
    begin
    
    select empno,ename bulk collect
    into v_tab
    from emp
    where empno = 7369;
    
    dbms_output.put_line (v_tab(0).ename);
    
    exception 
    when no_data_found then
    dbms_output.put_line ('I am in no data found exception');
    end;
    the foregoing gives me exception, please someone can explain why it is not in the exception block.

    Thanks in advance.

    The obvious answer is because an exception no_data_found is raised.
    The question is there.

    It's either select it because there is no data where empno = 7369.

    Or is the .ename of v_tab (0), because there is no element 0. Automatic collection of indexing starts at 1.

    for example

    SQL>  declare
      2    type t1 is table of pls_integer index by pls_integer;
      3    v1 t1;
      4   begin
      5    v1(1) := 1;
      6    dbms_output.put_line(v1(0));
      7   end;
      8  /
     declare
    *
    ERROR at line 1:
    ORA-01403: no data found
    ORA-06512: at line 6
    
    SQL> 
    

    If you catch the exceptions and do not spread them properly, then hide you all information kind of useful as a line number, etc..

  • PLS-00201: identifier 'i' must be declared when using BULK COLLECT with FORALL to insert data in 2 tables?

    iHi.

    Declare
       cursor c_1
       is
        select col1,col2,col3,col4
        from table1
    
    
       type t_type is table of c_1%rowtype index by binary_integer;
       v_data t_type;
    BEGIN
       OPEN c_1;
       LOOP
          FETCH c_1 BULK COLLECT INTO v_data LIMIT 200;
          EXIT WHEN v_data.COUNT = 0;
          FORALL i IN v_data.FIRST .. v_data.LAST
             INSERT INTO xxc_table
               (col1,
                col3,
                col4
               )
                SELECT v_data (i).col1,
                       v_data (i).col3,
                       v_data (i).col4
                  FROM DUAL
                 WHERE NOT EXISTS
                              (SELECT 1
                                 FROM xxc_table a
                                WHERE col1=col1
                                      .....
                              );
                         --commit;
             INSERT INTO xxc_table1
               (col1,
               col2,
              col3,
              col4
               )
                SELECT v_data (i).col1,
                       v_data (i).col2,
                       v_data (i).col3,
                       'Y'
                  FROM DUAL
                 WHERE NOT EXISTS
                              (SELECT 1
                                 FROM xxc_table1 a
                                WHERE col1=col1
          .....
         );
    
    
           --exit when c_1%notfound;
       END LOOP;
       CLOSE c_1;
       commit;
    END;
    
    
    
    
    
    
    
    

    I get 40/28-PLS-00201: identifier 'I' must be declared what the problem in the above code please help me and I have lakhs of data

    Thank you

    Post edited by: Rajesh123 I changed IDX

    Post edited by: Rajesh123 changed t_type c_1 in Fetch

    But by using a SET of INSERT to insert into two tables at once in the same query would do the job without any collection of bulk of PL and avoid to query two times too.

    for example, as a single INSERT...

    SQL > create table table1 as
    2. Select 1 as col1, col2 of 1, 1 as col3, 1 as col4 Union double all the
    3 select 2,2,2,2 of all the double union
    4 Select 3,3,3,3 Union double all the
    5 Select 4,4,4,4 of all the double union
    6 select 5,5,5,5 of all the double union
    7 select 6,6,6,6 of all the double union
    8 select 7,7,7,7 of all the double union
    9 select 8,8,8,8 of all the double union
    10. Select 9,9,9,9 to the Union double all the
    11. Select double 10,10,10,10
    12.

    Table created.

    SQL > create table xxc_table like
    2. Select 1 as col1, col3 2, 3 as col4 Union double all the
    3. Select the 3, 4, 5 Union double all the
    4. Select the 5, 6, 7 double
    5.

    Table created.

    SQL > create table xxc_table1 like
    2. Select 3 as col1, col2, col3, 5 4 "n" as col4 Union double all the
    3. Select the 6, 7, 8, double "n"
    4.

    Table created.

    SQL > insert all
    2 when the xt_insert is null then
    3 in xxc_table (col1, col3, col4)
    4 values (col1, col3, col4)
    5 when the xt1_insert is null then
    6 in xxc_table1 (col1, col2, col3, col4)
    7 values (col1, col2, col3, 'Y')
    8. Select t1.col1 t1.col2, t1.col3, t1.col4
    9, xt.col1 as xt_insert
    10, xt1.col1 as xt1_insert
    11 from table1 t1
    12 left join external xxc_table xt (t1.col1 = xt.col1)
    13 left xt1 xxc_table1 outer join (t1.col1 = xt1.col1)
    14.

    15 rows created.

    SQL > select * from xxc_table by 1.
    COL1 COL3 COL4
    ---------- ---------- ----------
    1          2          3
    2          2          2
    3          4          5
    4          4          4
    5          6          7
    6          6          6
    7          7          7
    8          8          8
    9          9          9
    10-10-10

    10 selected lines.

    SQL > select * from xxc_table1 by 1.

    COL1 COL2 COL3 C
    ---------- ---------- ---------- -
    1          1          1 Y
    2          2          2 Y
    3          4          5 N
    4          4          4 Y
    5          5          5 Y
    6          7          8 N
    7          7          7 Y
    8          8          8 Y
    9          9          9 Y
    10-10-10

    10 selected lines.

    SQL >

  • Error when using bulk collect

    Hello
    I tried with the following code,
    DECLARE
       TYPE EmpRec IS RECORD (last_name   EMP.ename%TYPE, 
                              salary      emp.sal%TYPE);
       emp_info EmpRec;
       TYPE empnest IS TABLE OF EMP.empno%TYPE;
       empnestvar empnest; 
    BEGIN
      empnestvar := empnest(7566,7788);
       FOR i in empnestvar.first..empnestvar.last LOOP
       UPDATE emp SET sal = sal * 1.1 WHERE empno = empnestvar(i)
          RETURNING   ename, sal BULK COLLECT INTO  emp_info;
       DBMS_OUTPUT.PUT_LINE('Just gave a raise to ' || emp_info.last_name ||
          ', who now makes ' || emp_info.salary);
       ROLLBACK;
       END LOOP;
    END;
    get the following err
          RETURNING   ename, sal BULK COLLECT INTO  emp_info;
                         *
    ERROR at line 11:
    ORA-03113: end-of-file on communication channel
    Could you please advice me in this

    Thank you

    Why he does ' t work with

    COLLECTION in BULK IN the variable of type record. >
    This is how it is designed and defined! In fact, to put it very simply, BULK COLLECT means collectors several at a go (forgive me if my English is not the best), the record type variable can contain both.
    A vary another important thing that I missed before, avoid using COMMIT or ROLLBACK inside the loop. You can search for AskTom for more explanations.

    Published by: mohamed on April 8, 2011 18:19

  • The equalizer settings cannot be changed when using radio... While with the other good music

    Someone had this problem? Play MP3/Vorbis/Wav (etc.) file and I can pass parameters e.q... Play the radio I can't switch e.q. settings.. What the?

    Your .mp3, etc are digital and so is the equalizer. The FM radio is analog; the Equalizer will not work on it.

  • media, stops and starts with the cursor movement on the screen

    When you watch a video on Youtube or any media file on the internet, it plays very well, then stop so he could continue to play I move the cursor on the video screen, as soon as I stop moving the cursor, it will continue to play and then stop again.
    In other words if I want to display a media file I need to keep the mouse move the cursor over the corner of the screen of media.

    I have no problems with playback of multimedia files stored on my computer. My operating system is Windows 7

    I hope you can help me

    Hello Craig Barnett.

    Thank you to contact the community Microsoft and we will be happy to help you with your concern.

    According to the description, it seems that you are having problems with online videos don't play do not.

    Perform the steps from the link if you have Internet Explorer and check.

    The video problems when you use Internet Explorer

    Answer to us if you are experiencing problems with Internet Explorer or any Windows problem, and I'd be happy to help you.

    Good day!

    Hope this information helps.

  • Reference Dell 5558, 8 beebing on startup, no black screen and works with the beebing

    Hello

    I have a problem with my Dell insipiron r15 5558, I bought it 3 months ago. But last month my laptop beep 8 times at startup. When this happens, I usually only the power out of my laptop because of the distracting noise and turn it back on. Once I powered on / off power for 3 - 4 times it don't beep plus one works very well. Anyone know what could be the problem? I ran a Test LCD and an analysis of Pre-boot system, it was running fine without any problem, I used my warranty and sent the labtop to dell here the last 2 weeks, they sent and didn't tell that it is no problem with my laptop, but it is still beebing 8 times by clicking on the power on

    BTW. I'm on Windows 10 pro 64-bit

    Hello

    8 attention beep is usually to do with the problems of LCD, as you already know.   If diagnostics are passing and the system has been returned to the warehouse for the evaluation, the only thing I think it could be is a connecting cable of the LCD screen.  You said sometimes works very well after starting several times, then maybe it's the cable.

    Have you tried to hold the screen in different positions when it turn on?   Just to see if guidance works better and maybe the cable is a better connection.  You can check if the cable is loose yourself.  Here is a link to the online manual for the Inspiron 15r 5558.  You can use it to see how a screen is normally replaced, but instead to replace it you would just check the connection of the cable to make sure it's tight.  NOTE: Make sure you follow the safety instructions and information in the section "before you begin".

    Let us know if you find a loose fitting and if the adjustment of the angle of the screen change anything when you try to turn on the system.  I hope it's something as simple as a bad connection and you can correct it.  If the ringing continues I recommend to contact Dell support again and have them send it back for repair, unfortunately.

    Todd

  • When FireFox5 will be upgraded to work with the Antivirius Avast software?

    When I got the message that the new update FireFox5 shone I downloaded and started to install until it was the part where it says that my virus program Avast was incompatible with the new version of FireFox. At that time, I had to get a my previous version to reinstall, I can't update the browser and have it stop my antivirus. If the problem is not resolved, I'll get another browser. I'm just glad that I said to a friend DOES NOT update so that it does not have to go through what I had to do.

    I think you mis-read or misunderstood this message on Avast, Firefox can and neutralize only the Add-ons for Firefox caused incompatibility with newer versions of Firefox. It is not disable all of the antivirus application and good antivirus applications do not allow another program installed to turn them off. I'm sure that the message says that the add-on Avast WebRep would be disabled. Avast needs provide an add-on Rep Web site updated for Firefox 5.

    You can see the new pre-release of Avast for compatibility with Firefox 5.

       * http://forum.avast.com/index.php?topic=80362.0
    
  • Micro works not when using Skype. Problem is not with the microphone, but with Skype. Ive tried

    When you use Skype, my internal microphone does not work - friend says that he can not hear the voice, but he can hear other sounds - music on youtube for example. Ive tested the microphone on Skype Echo - it wasn't working at all. I tested it on a voice recorder - MIC was working properly. Also when I just started to use this laptop (3 days ago), I spoke with a friend through Skype for about 3 hours, and then he couldn't hear me suddenly annymore. If something is wrong with Skype. Computer consultant suggested me to contact Skype support technicians.

    In Skype, open Tools-> Options-> Audio settings. There is more than one option available in the selection box for Microphone?

  • I have old pagemaker files that show only as executable files (exec). They contain files in the format.  Can I open them in DW in a way that will allow me to see and work with the formatting?

    Is this possible?

    Lol it is not possible.

    And you already asked this question a few days ago. Please read your previous post.

Maybe you are looking for

  • Manager HP50g-files and subdirectories on SD card

    I tried to create a directory on SD with FM (File Manager). In the menu soft, there is a 'new' function key, but it does not work (as well as to 'renew', 'command'). Although I could copy a subdirectory of the 'House' at the root of the SD with FM, b

  • Adding a Cache of SSD drive for my laptop

    I posted earlier about this and got a response from Hüffer... Maybe I misunderstood, but installing the msata ssd is proving to be more complex and more complex that I read in response to Hüffer. When I install the SSD and start the system, I not giv

  • To uninstall MSE as it works normal

    Original title: uninstalled I would like to uninstalled the Microsft Security Essential he don't not wiork the way normal, a message comes up "tha nof can find the files in the wizard and install it again", I tried this again but he read as I have al

  • 17 - g101dx: bluetooth on 17-g101dx

    17 - g101dx bluetooth is compatible that I see on the support forum that it now has a driver bluetooth for this laptop.

  • Printing from IPad or Iphone always goes to Tray 1, but tiroir2 is the default tray.

    Product name: OfficeJet 8500 has more Op systems: Win 7 & Apple Ipad and Iphone and MAC Error messages: no Changes: has never been worked, no change I have two bins in my printer.  Tray 1 is used for envelopes and tray 2 is the standard letter paper.