日期:2014-05-17  浏览次数:20767 次

急急急 幫我看下oracle 存儲過程
執行報如下錯誤:

ORA-00955: name is already used by an existing object
ORA-06512: at "SMP.SUNSET", line 28
ORA-06512: at line 1

十分感謝!!!!



/* Formatted on 2012/02/16 09:27 (Formatter Plus v4.8.8) */
CREATE OR REPLACE PROCEDURE sunset
AS
  str VARCHAR2 (3000);
BEGIN
  str :=
  'CREATE TABLE SMP.TEMP_DM_defect
  (
  ID VARCHAR2(30 BYTE),
  WORK_MONTH VARCHAR2(2 BYTE),
  WORK_WEEK VARCHAR2(2 BYTE),
  WORK_DATE VARCHAR2(2 BYTE),
  WEEKDAY VARCHAR2(9 BYTE),
  SHIFT VARCHAR2(30 BYTE),
  SUBLINE_NAME VARCHAR2(90 BYTE),
  MODEL VARCHAR2(50 BYTE),
  PART_NO VARCHAR2(50 BYTE),
  WO_NO VARCHAR2(50 BYTE),
  TYPE VARCHAR2(50 BYTE),
  HOUR VARCHAR2(30 BYTE),
  ROUTE_CODE VARCHAR2(50 BYTE),
  PORT VARCHAR2(50 BYTE),
  DEFECT_CODE VARCHAR2(50 BYTE),
  REASON_CODE VARCHAR2(10 BYTE),
  CHINESE VARCHAR2(50 BYTE),
  QTY NUMBER
  )';

  EXECUTE IMMEDIATE str;

  COMMIT;
  str :=
  'insert into TEMP_DM_defect (SELECT 1 AS ID, TO_CHAR (create_time - 23 / 72, ''MM'') work_month,
  TO_CHAR (create_time - 23 / 72, ''WW'') work_week,
  TO_CHAR (create_time - 23 / 72, ''DD'') work_date,
  TO_CHAR (create_time, ''day'') weekday, shift, subline subline_name,
  pro_model model, part_no, ''0'' wo_no, 0 TYPE,
  TO_CHAR (a.create_time, ''hh24'') HOUR, description route_code, port,
  code defect_code, '' reason_code, chinese,
  COUNT (DISTINCT cellsn) qty
  FROM k93_cellerrorcode a, sfcs_time_subarea_apple b
  WHERE TO_CHAR (create_time, ''hh24:mi:ss'') >= begin_t
  AND TO_CHAR (create_time, ''hh24:mi:ss'') <= end_t
  AND SUBSTR (port, 1, 4) = ''port''
  AND create_time BETWEEN TO_DATE (''2012/1/1 08:00:00'',
  ''yyyy-mm-dd hh24:mi:ss''
  )
  AND TO_DATE ( TO_CHAR (SYSDATE, ''yyyy-mm-dd'')
  || '' 7:59:59'',
  ''yyyy-mm-dd hh24:mi:ss''
  )
GROUP BY TO_CHAR (create_time - 23 / 72, ''MM''),
  TO_CHAR (create_time - 23 / 72, ''WW''),
  TO_CHAR (create_time - 23 / 72, ''DD''),
  TO_CHAR (create_time, ''day''),
  shift,
  subline,
  pro_model,x
  part_no,
  TO_CHAR (a.create_time, ''hh24''),
  description,
  port,
  code,
  chinese)';

  EXECUTE IMMEDIATE str;

  COMMIT;
  str :=
  '
  CREATE TABLE SMP.TEMP_SFCS_DEFECTS
  (
  ORG_ID NUMBER NOT NULL,
  SN_KEY NUMBER,
  MODEL VARCHAR2(50 BYTE),
  PART_NO VARCHAR2(20 BYTE),
  WO_KEY NUMBER,
  DEFECT_KEY NUMBER,
  DEFECT_CODE VARCHAR2(10 BYTE),
  QTY NUMBER,
  DEFECT_KIND NUMBER DEFAULT 0,
  CUSTOMER_DEFECT_CODE VARCHAR2(10 BYTE),
  WS_ID NUMBER,
&nbs