Posts

Showing posts from June, 2013

PL/SQL Insert Big Data and Commit

declare
  v_counter number:=0;
begin
  for j in 1..1000000 loop
      insert into test_table
      (
        id,
        kurum_id,
        tur_id,
        adi,
        aktif,
        kayit_kullanici_id,
        kayit_tarihi
      )
      values
      (
        SEQ_TEST_TABLE_ID.nextval,
        1,
        1,
        'TEST_DATA_'|| j,
        1,
        1,
        sysdate
      );
      v_counter:=v_counter+1;
      if mod(v_counter, 10000 ) = 0 then    -- Commit every 10000 records
        commit;
        dbms_output.put_line(v_counter||'-> committed');
      end if;
    end loop;
end;

PL/SQL Updating a Table by using Cursor

declare
  cursor veteriner_cur
  is
  select id
  from mzb_veteriner_bilgileri
  order by id;
begin
  for c1
  in veteriner_cur
  loop
  dbms_output.put_line(
    c1.id
  );
  update mzb_veteriner_bilgileri
  set gorev_baslangic_tarihi=sysdate
  where id=c1.id;
  end loop;
end;

PL/SQL Create View with Outer Join

create or replace force view vew_mzb_hayvan_bilgileri
(
  id,
  kulak_kupe_no,
  kesilme_tarihi,
  turu,
  saglik_rapor_no,
  gelis_sekli,
  gelis_tarihi,
  yetistiren,
  kestiren,
  ante_mortem_id,
  post_mortem_id,
  kesim_id
)
as
select
  hayvan.id,
  hayvan.kulak_kupe_no,
  hayvan.kesilme_tarihi,
  tur.adi turu,
  kabul.saglik_rapor_no,
  kabul.gelis_sekli,
  kabul.gelis_tarihi,
  yetistiren.adi_soyadi yetistiren,
  kestiren.adi_soyadi kestiren,
  antehayvan.ante_mortem_id,
  posthayvan.post_mortem_id,
  kesimdetay.kesim_id
from  mzb_hayvan_bilgileri hayvan,
      mzb_hayvan_turleri tur,
      mzb_hayvan_kabul_bilgileri kabul,
      vew_ort_kentli yetistiren,
      vew_ort_kentli kestiren,
      mzb_ante_mortem_hay_bilgileri antehayvan,
      mzb_post_mortem_hay_bilgileri posthayvan,
      mzb_kesim_bilgileri_detay kesimdetay,
      mzb_kesim_detay_hay_bilgileri kesimdetayhayvan
where hayvan.hayvan_tur_id=tur.id and
      hayvan.hayvan_kabul_id=kabul.id and
      kabul.yetistirici…

PL/SQL Create View with Inner Join

CREATE OR REPLACE FORCE VIEW SCHEMA_NAME.VEW_MZB_KESIM_BILGILERI_DETAY
(
   ID,
   KESIM_ID,
   KULAK_KUPE_NO_BILGILERI,
   YETISTIRICI_ADI_SOYADI,
   AGIRLIK,
   DETAY_HAYVAN_KAYIT_ID,
   KARKAS_IMHA,
   KARACIGER_IMHA,
)
AS
     SELECT ana.ID,
            KESIM_ID,
            KULAK_KUPE_NO_BILGILERI,
            YETISTIRICI_ADI_SOYADI,
            AGIRLIK,
            detay.id "DETAY_HAYVAN_KAYIT_ID",
            CONCAT (
               CONCAT (KARKAS_IMHA, ' '),
               DECODE (KARKAS_IMHA,
                       NULL, NULL,
                       DECODE (KARKAS_IMHA_BIRIMI,  1, 'kg',  2, 'gr')))
               AS KARKAS_IMHA,
            CONCAT (
               CONCAT (KARACIGER_IMHA, ' '),
               DECODE (KARACIGER_IMHA,
                       NULL, NULL,
                       DECODE (KARACIGER_IMHA_BIRIMI,  1, 'kg',  2, 'gr')))
               AS KARACIGER_IMHA,
       FROM mzb_kesim_bilgileri_detay ana, mz…

PL/SQL Decode

CREATE OR REPLACE FORCE VIEW VEW_TABLE_NAME ("ID", "COLUMN_X")
AS
  SELECT "ID",
    concat(concat(COLUMN_X,    ' '),
    decode(COLUMN_X,    null, null, decode(COLUMN_Y,    1, 'kg', 2, 'gr'))) AS COLUMN_X,
FROM TABLE_NAME;

PL/SQL Check Constraint & Unique Index

Add Check Constraint
alter table table_name
add constraint chk_table_name_column_name
check (column_name=nls_upper(adi,'NLS_SORT=XTURKISH')) enable;

Create Unique Index
create unique index "schema_name"."ind_table_name_column_name" on "schema_name"."table_name"
  (
    "column_name"
  );

Drop Index
drop index ind_table_name_column_name;