Kendi İşine Bak

Dikkatinizi gerçekten sizi ilgilendiren şeyler üzerine odaklayın ve başkalarının işlerinin sizi ilgilendirmediği konusunda açık bir görüşe sahip olun.

Eğer bunu uygularsanız baskı altına girmezsiniz ve kimse sizi etkileyip geriye döndüremez. Gerçekten özgür ve etkin olursunuz. Çabalarınız iyi şeylere yönelir ve başkalarının hatasını bularak ya da onlarla zıtlaşarak çabalarınızı aptalca ziyan etmezsiniz.

Neyin gerçekten sizi ilgilendirdiğini bilir ve bu bilinçle düzenli bir şekilde haraket edersiniz, iradeniz dışında hiçbir şey yaptırılamaz hale gelirsiniz.

ama amacınız bu ilkelerle yaşamak bile olsa, bunun kolay olmayacağını aklınızda tutun. Bazı şeylerden bütünüyle vazgeçmelisiniz ve şimdilik bazılarından vazgeçmeyi bir sonraki zamana bırakmalısınız. Mutluluk ve özgürlüğe erişmek istiyorsanız zenginlik ve güç peşinde koşmaktan vazgeçmelisiniz

EPİKTETOS (Romalı bir köle)

SQL de WITH CHECK OPTION

Örneğin bir sınıfta matematik dersinden 45 in altında not alan öğrencileri gördüğümüz basit bir view’ımız var

Create View DusukNotlar
as
Select Adi,Soyadı,Ders,Not from tblDersNotlari where Not<45

Şimdi diyelimki bu view a bir insert yapmamız gerekti;

insert into DusukNotlar
Select 'Barış','Eldem','Matematik',80

Bu insert script’ini çalıştırdığımız zaman SQL yeni kaydı girecek fakat kayıt viewde gözükmeyecektir. Çünkü view’in scriptinde not<45 diye belirtilmişti. Halbuki bizim girdiğimiz not 80.

Eğer SQL’in bu şekilde view’a göremeyeceğimiz bir kaydı insert emeye izin vermesini engellemek istersek, view’ımızı WITH CHECK OPTION ile yazmamız gerekir. Bu durumda view’ımız aşağıdaki gibi olacaktır;

Create View DusukNotlar
as
Select Adi,Soyadı,Ders,Not from tblDersNotlari where Not<45
WITH CHECK OPTION

SQL’de stored procedure içinde text arama

Bazı durumlarda bir kelimenin, veritabanındaki hangi sp’ler içinde geçtiğini öğrenmeniz gerekebilir. Örneğin bir tablodaki bir alan adını değiştirdiniz ve bu alan adının içinde geçtiği bütün procedure’leri bulup değiştirmeniz gerekiyor. Bu durumda şöyle ufak bir script size yardımcı olabilir;

SELECT OBJECT_NAME(id) 
    FROM syscomments 
    WHERE [text] LIKE '%bulunacak text%' 
    AND OBJECTPROPERTY(id, 'IsProcedure') = 1 
    GROUP BY OBJECT_NAME(id)

Bu script çalıştığında içinde aradığınız kelimeyi (bulunanacak text) içeren bütün sp’ler listelenecek ve sizde bunları değiştirerek muradınıza ermiş olacaksınız.

SQL de escape karakteri kullanmak

Bazen sql de select çekerken aramak istediğimiz kriter SQL in önceden aktarılmış karakterlerinden biri olabilir. Örnek olarak aşağıdaki gibi bir script oluşturalım ve #zz şeklinde geçici bir tablo yaratalım.

select '%Master Deneme Deneme' Adi,1 ID into #zz

insert into #zz
select '%Deneme 1' ,2
union all
select 'Deneme 2', 3
union all
Select 'Slave',4
union all
select 'Slave % deneme', 5

Şimdi bu tabloda, Adi alanında % karakteri olan satırları getirmek istediğimizi farzedelim. Eğer bunu yapmak için

Select * from #zz where adi like '%%%'

yazarsak tablodaki bütün sonuçların döneceğini görürüz. Fakat bizim istediğimiz kayıtlar bunlar değildi. Biz sadece Adi alanı içinde % karakteri geçen satırların listelenmesini istemiştik. Böyle durumlarda yapmamız gereken şey diğer dillerde olduğu gibi ESCAPE karakteri kullanmak. Diğer birçok dilden farklı olarak bu gibi durumlarda SQL de escape karakterimizi kendimiz belirleriz. Yukarıdaki sorunumuzun çözümü olarak aşağıdaki kodu yazmamız gerekir

select * from #zz where adi like '%/%%' escape('/')

Burada belirlediğimiz / karakteri, ondan sonra gelen karakterin aktarılmış bir karakter değil, herhangi diğer bir karakter olduğu anlamına gelir. Yani anlayacağınız üzere ‘/’ yerine ‘a’ da yazabilirdik. Bu durumda sql ‘a’ dan bir sonraki karakter sql in herhangi birşey için kullandığı özel bir karakter olsa bile onu bu özel durumuyla değil diğer karakterleri değerlendirdiği gibi normal bir karakter olarak değerlendirirdi.

Bardağı yere bırakın

Profesör elinde içi dolu bir bardak tutarak dersine başladı
Herkesin göreceği bir şekilde tutuyordu ve ardından sordu :
“Bu bardağın ağırlığı sizce ne kadardır?”
’50gm!’ …. ‘100gm!’ …..’125gm’
..diye öğrenciler yanıtladı.
“Bardağı tartmadıkça gerçekten ben de bilemem,” dedi profüsör, “ama, benim sorum şu ki :
“Bu bardağı böyle birkaç dakikalığına tutsaydım ne olurdu?”
‘Hiçbir şey’ …..diye yanıtladı öğrenciler.
“Tamam peki 1 saat boyunca tutsaydım ne olurdu?” diye sordu profesör bu kez…
“Kolunuz ağrımaya başlardı efendim” diye öğrencilerden biri yanıtladı
“Haklısın, peki şimdi ben 1 gün boyunca tutsam ne olurdu?”
“Kolunuz iyice ağrır, kas spazmı, batar vs gibi sorunlar yaşardınız ve hastaneye gitmek zorunda kalırdınız!”….. tüm öğrenciler çeşitli yorumlar yaptı ve gülüştüler
“Çok iyi. Peki tüm bu sorunlar olurken bardağın ağırlığında bir değişme olur muydu?”
diye sordu profesür.
“Hayır….” diye yanıtladı herkes
Peki o zaman kolun ağrımasına ve kas spazmına neden olan neydi?”
Üğrenciler bulmaca çözermişçesine düşünmeye başladılar.
“Acıdan ve ağrıdan kurtulmak için ne yapmam gerekir bu durumda?”diye tekrar profesür sordu.
“Bardağı bırakın düşsün!” diye öğrencilerden biri yanıt verdi.
“Kesinlikle!” dedi, profesör.
“Hayatın problemleri de böyle bir şeydir. Onları kafanda birkaç dakika tutarsın. Bir sorun yokmuş gibi gürünür. Uzun bir süre düşünürsün. Başınız ağrımaya başlar.
Daha uzun düşünün. Artık seni bitirmeye ve hiçbir şey yapamamana neden olur.
Hayatınızdaki mücadeleleri ve problemleri düşünmek önemlidir,
Fakat DAHA ÖNEMLİSİ onları her günün sonunda, uyumadan önce yere bırakmaktır (bardak gibi). Bu şekilde strese girmez, ve her gün taze bir beyin ile uyanır ve her konuyla ve yolunuza çıkan her mücadele ile başa çıkabilecek güce sahip olursunuz!

Bu yüzden siz de her günün sonunda; BIRAKIN YERE BARDAĞI…