ORA-00000: normal, successful completionORA-00000: normal, successful completion


Olurda bir gün ORA-00000: normal, successful completion hatasını alırsanız bunun bir çok sebebi olabilmesine karşın sizi en çok uğraştıracak olanı aslında hata alınmadığı bir anda sizin hata kontrolü yapmanızdan kaynaklananı olacaktır. Herhangi bir hata alınmadan SQLCODE ya da SQLERRM’ı çağırırsanız ORA-00000: normal, successful completion hatasını alırsınız.

DECLARE
ERR_NO NUMBER;
ERR VARCHAR2(5000);
BEGIN
ERR_NO:=SQLCODE;
ERR:=SQLERRM;
DBMS_OUTPUT.PUT_LINE('HATA NO: '||ERR_NO);
DBMS_OUTPUT.PUT_LINE('HATA : '||ERR);
END;

5 February 2010
Okunma
bosluk

Force View -Normal View DifferenceForce View ve Normal view farkı

Force view , view farkı

İki view arasındaki tek fark eğer force view yaparsanız yazdığınız kod hatalı bile olsa create eder fakat invalid olarak create eder hatalıysa.

Normal view’da böyle bir durum söz konusu değil hatalıysa create işlemi yapılmaz.

Force View

CREATE OR REPLACE FORCE VIEW AKUZHAN.VIEW_DENEME
(ID,NAME)
AS
SELECT
ID
, NAME
FROM
EMPLOYEES ;

Normal View

CREATE OR REPLACE FORCE VIEW AKUZHAN.VIEW_DENEME
AS
SELECT
ID
, NAME
FROM
EMPLOYEES ;

25 January 2010
Okunma
bosluk

Oracle INTERVAL Oracle INTERVAL ile gün, saat, yıl, ay, dakika, saniye ekleme çıkarma

SELECT SYSDATE – INTERVAL ’10′ SECOND FROM DUAL;

SELECT SYSDATE – INTERVAL ’10′ MINUTE FROM DUAL;

SELECT SYSDATE – INTERVAL ’10′ HOUR FROM DUAL;

SELECT SYSDATE – INTERVAL ’10′ DAY FROM DUAL;

SELECT SYSDATE – INTERVAL ’10′ YEAR FROM DUAL;

10 saniye çıkarır.
SELECT SYSDATE - INTERVAL '10' SECOND FROM DUAL;

10 dakika ekler.
SELECT SYSDATE + INTERVAL '10' MINUTE FROM DUAL;

10 saat çıkarır
SELECT SYSDATE - INTERVAL '10' HOUR FROM DUAL;

10 gün çıkarır
SELECT SYSDATE - INTERVAL '10' DAY FROM DUAL;

10 yıl ekler
SELECT SYSDATE - INTERVAL '10' YEAR FROM DUAL;

21 January 2010
Okunma
bosluk

Oracle to_dsintervalOracle to_dsinterval ile kolay date işlemleri

saat gün v.b. verip tarihe ekleme yada çıkarma yapmak için to_dsinterval fonksiyonunu kullanabiliyoruz.

1 saat 15 dakikda 25 saniye ekler.

select sysdate +to_dsinterval(’0 01:15:25′) dt from dual;

1 gün 2 saat 15 dakika 25 saniye ekler

select sysdate +to_dsinterval(’1 02:15:25′) dt from dual;

1 gün 2 saat 15 dakika 23 saniye çıkarır. Başındaki – ifadeyi komple kapsar.

select sysdate +to_dsinterval(‘-1 02:15:23′) dt from dual;

1 gün çıkarır ( sysdate-1 ).

select sysdate +to_dsinterval(‘-1 00:00:00′) dt from dual;saat gün v.b. verip tarihe ekleme yada çıkarma yapmak için to_dsinterval fonksiyonunu kullanabiliyoruz.


1 saat 15 dakikda 25 saniye ekler.

select sysdate +to_dsinterval('0 01:15:25') dt from dual;

1 gün 2 saat 15 dakika 25 saniye ekler

select sysdate +to_dsinterval('1 02:15:25') dt from dual;

1 gün 2 saat 15 dakika 23 saniye çıkarır. Başındaki – ifadeyi komple kapsar. 

select sysdate +to_dsinterval('-1 02:15:23') dt from dual;

1 gün çıkarır ( sysdate-1 ). 

select sysdate +to_dsinterval('-1 00:00:00') dt from dual;

21 January 2010
Okunma
bosluk

Oracle using WITHOracle WITH yapısı

Oracle WITH yapısı

Oracle’da with yapısı ile aynı select’i birden fazla farklı kriterler için kullanmanız gerekiyorsa tekrar tekrar kod yazmamak için kullanılabilir. Aşağıdaki örnek her ne kadar açık olmasada ABDULLAH ve KUZHAN kriterleri için NAME alanlarını dual’den dönen select tekrar tekrar çekilmedi. Birkez çekilip X ismiyle birden fazla kez kullanıldı.

WITH X AS
(
SELECT ‘ABDULLAH’ NAME FROM DUAL
UNION
SELECT ‘KUZHAN’ NAME FROM DUAL
UNION
SELECT ‘DENEME’ NAME FROM DUAL
UNION
SELECT ‘BUDA DİĞER DENEME’ NAME FROM DUAL
)
SELECT
X.*
FROM
X
WHERE
X.NAME=’ABDULLAH’
UNION ALL
SELECT
X.*
FROM
X
WHERE
X.NAME=’KUZHAN’;
Oracle’da with yapısı ile aynı select’i birden fazla farklı kriterler için kullanmanız gerekiyorsa tekrar tekrar kod yazmamak için kullanılabilir. Aşağıdaki örnek her ne kadar açık olmasada ABDULLAH ve KUZHAN kriterleri için NAME alanlarını dual’den dönen select tekrar tekrar çekilmedi. Birkez çekilip X ismiyle birden fazla kez kullanıldı.

WITH X AS
        (
        SELECT  'ABDULLAH' NAME FROM DUAL
        UNION
        SELECT  'KUZHAN' NAME FROM DUAL
        UNION
        SELECT  'DENEME' NAME FROM DUAL
        UNION
        SELECT  'BUDA DİĞER DENEME' NAME FROM DUAL
        )
SELECT
    X.*
FROM
    X
WHERE
    X.NAME='ABDULLAH'
UNION ALL
SELECT
    X.*
FROM
    X
WHERE
    X.NAME='KUZHAN';

20 January 2010
Okunma
bosluk

Raise Applicaton Error

Raise application error verirken hata kodu, hatanın kendisi, ve son parametre olarak isterseniz hatanın stack trace’ini alabilirsiniz. True göndermek yeterli.

7 January 2010
Okunma
bosluk
 Son Yazılar FriendFeed
reklam
seo kitabı
reklam
reklam

Translate

EnglishFrenchGermanItalianPortugueseRussianSpanishTurkish