Oracle-ing Myself – Lesson 1 Özeti
hr user login olamaması sorununu user’ı alter ederek çözebiliriz.
cmd > sqlplus / as sysdba
alter user hr identified by hr account unlock;
exit;
lsnrctl start
sqlplus hr/hr
bağlı bulunduğumuz şemadaki tabloları göster
select * from tab
select * from user_tables
tablonun kolon bilgilerini getirmek
describe employees;
desc employees;
Oracle/PLSQL’de, NVL fonksiyonu null olan bir değeri başka bir değerle değiştirebilmemizi sağlar.
NVL( string1, replace_with )
NVL(COMMISSION_PCT,0) COMMISSION_PCT null ise 0 getir
Concat Operatorü: || ya da concat( string1, string2 ), string birleştirme
alias operatörü : as, kolon adını yeniden verme
q’['in maaşı]‘ : kullanılamayan karakterleri kullanabilmek için
SELECT EMPLOYEES.FIRST_NAME || ' ' || EMPLOYEES.LAST_NAME || q'['IN maaşı]' as ADSOYAD, EMPLOYEES.SALARY as MAAS, NVL(EMPLOYEES.COMMISSION_PCT,0) as KOMISYON, (SALARY*12)+(SALARY*12*NVL(EMPLOYEES.COMMISSION_PCT,0)) as YILLIKMAAS, EMPLOYEES.DEPARTMENT_ID as DEPARTMAN FROM EMPLOYEES WHERE EMPLOYEES.DEPARTMENT_ID = 90 and EMPLOYEES.LAST_NAME = 'King' and EMPLOYEES.SALARY between 2000 and 25000 or EMPLOYEES.LAST_NAME between 'Abel' and 'Austin' or EMPLOYEES.LAST_NAME like 'B%l_' and EMPLOYEES.COMMISSION_PCT is null and EMPLOYEES.DEPARTMENT_ID in (90,50) and EMPLOYEES.DEPARTMENT_ID not in (80) and EMPLOYEES.JOB_ID not in ('IT_PROG','AD_ASST') ORDER BY MAAS desc
çift amp. (&&) kullanırsak aynı addaki iki parametreyi tekrar girme zahmetinden kurtuluyoruz
(performansa biraz katkısı var)
DEFINE kriter = 'King' SELECT &&kolonadi FROM &tabloadi WHERE last_name = '&kriter' ORDER BY &kolonadi




