FIXED_DATE
Oracle’ da sayısız parametre var ve her geçen gün yeni bir tanesini öğreniyorum. Az önce de yeni bir tanesini öğrendim ve hemen soluÄŸu burada aldım ![]()
Sanırım yazının başlığından da hangi parametre olduğunu tahmin etmek zor olmaz : FIXED_DATE
Sanırım oracle ile biraz uğraşmış birisi SYSDATE ifadesinden haberdardır. Bu parametre (FIXED_DATE) de SYSDATE değerine içinde bulunduğumuz an yerine sabit bir tarih değeri atamamızı sağlar. Ne zaman ki SYSDATE i sorguladığımızda artık bu sabit (değilmez) değerimizi elde edeceğiz. Özellikle yazdığımız prosedürlerde sık sık SYSDATE kullanıyoruz. FIXED_DATE parametresi ile ilk karşılaştığımda da PLSQL kodlarımızın test edilmesi açısından faydalı olabileceği idi.
Kullanımı faydalı da olsa bu parametrenin oturum (session) bazında olmadığı mevcut Instance için bir değişiklik olduğunu öğrendim. Şu an da siz öğrendiniz
Atama :
ALTER SYSTEM SET FIXED_DATE=’1982-12-26-00:00:00′;
SQL> select sysdate from dual;
SYSDATE
———
12/26/1982 00:00:00 AM
Geri Dönüş :
ALTER SYSTEM SET FIXED_DATE=NONE;
SQL> select sysdate from dual;
SYSDATE
———
3/11/2010 2:09:07 PM
NOT : Bu parametre SYSDATE ile benzer yapıda olan SYSTIMESTAMP ifadesinin değerini etkilemez.
İyi Çalışmalar…


Merhaba,
parametreyi denedim çalıştı. ama ne için kullanılabilir acaba?
bi de session bazında çalışıyor olsa gerek.
Teşekkürler..
Merhaba,
ALTER SESSION değilde ALTER SYSTEM kullanılmasından SESSION değil de DATABASE seviyesinde geçerli olduğu anlaşılıyor.
Nerede kullanılabileceğine gelince;
Yazdığımız PLSQL kodlarının TEST işlemlerinde kullanılabilir. Kod içinde bulunan onlarca SYSDATE ifadesinin yerine TO_DATE ile istediğimiz tarihide yazabilirdik. Ama ya SYSDATE ifadcesi onlarca yerde geçiyorsa ???
Hoş istedikten TOAD gibi tooların FIND&REPLACE özellikleri de basit bir çözüm. Ben şahsen kullanmadım ama forumları takip etmeyi severim ve enteresan geldi. Öğrenir öğrenmez paylaşmak istedim.
Var ise bir hatamız düzeltelim.
Saygılar…