Skip to main content

User-Defined Functions (Kullanıcı-Tanımlı Fonksiyonlar)

Sql sisteminde hazır gelen birçok fonksiyon vardır. Bunlara  “System Functions” diyoruz. Birde bizim kendi oluşturduğumuz fonksiyonlar var. Bunlara da  “User Defined Functions (Kullanıcı-Tanımlı Fonksiyonlar)” diyoruz. Fonksiyonların asıl amacı elimizdeki veriyi hızlıca manipüle etmeye yarar.

 

SQL’de 3 çeşit fonksiyon vardır.

1.Inline Table-values Function (Tablo olarak değer döndürür)

2.Multi Statement table-values Function (Tablo olarak değer döndürür)

3.Scalar-values Function (Geriye tek bir değer döndürür)

“Scalar” fonksiyonlar tanımlanırken değil ama çağırılırken ikinci kısmıyla birlikte yani başında “dbo.“ (Database Owner – Veritabanı Sahibi) sözcüğü ile çağırmak zorundadır. “Table Valued” fonksiyonlarında böyle bir zorunluluk yoktur. Ayrıca ”Scalar” ve “Multistatement Table Valued” fonksiyonlarda “begin-end” sözcüklerinin kullanılması şarttır.

GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- =============================================
ALTER FUNCTION [dbo].[FN_KDVDahilFiyat]
(
@fiyat float,
@kdv float
)
RETURNS float
AS
BEGIN

declare @KDVToplam float

SET @KDVToplam =(@fiyat*(CAST(@kdv AS FLOAT)/100))+@fiyat

-- Return the result of the function
RETURN @KDVToplam

END

MongoDB Insert

MongoDB’ye kayıt eklemek için insert() metodunu kullanırız.

Kullanım:

db.collection.insert(document)

Örnek:

Bu örnekte content collection’ına bir adet kayıt ekliyorum. Eğer content adında bir collection’ım yoksa önce collection oluşturuluyor sonra  insert yapılıyor.

 

db.content.insert({
 title: 'MongoDB Insert',
 description: 'MongoDB Kayıt ekleme',
 author: 'Engin Kartal',
 url: 'https://www.enginkartal.com.tr',
 keywors: ['mongodb', 'database', 'insert'],
 likes: 5,
 comments: [{
 user: 'user1',
 message: 'My first comment',
 dateCreated: new Date(2015, 08, 29, 17, 35),
 like: 0
 }]
})

İşlem Sonucu:

WriteResult({ "nInserted" : 1 })

Başarılı bir insert  işleminden sonra WriteResult metodu bize  işlem durumunu bildirir.  “nInserted” özelliği  ise kaç adet  kayıt eklendiğini gösterir.  WriteResult metodunun bunun gibi bir çok özelliği vardır. Buradan bakabilirsiniz.

Eklenen Kaydı İnceleme:

 

db.content.find()
{
 "_id": ObjectId("55e1bc8120e0018dad4bce61"),
 "title": "MongoDB Insert",
 "description": "MongoDB Kayıt ekleme",
 "author": "Engin Kartal",
 "url": "https://www.enginkartal.com.tr",
 "keywors": ["mongodb", "database", "insert"],
 "likes": 5 "comments": [{
 "user": "user1",
 "message": "My first comment",
 "dateCreated": ISODate("2015-09-29T14:35:00Z"),
 "like": 0
 }]
}

 

Eğer insert sırasında dökümanınızda _id parametresi yer almıyorsa , MongoDB bu  döküman için benzersiz bir ObjectId atar. Bu id 12 byte hexadecimal benzersiz bir değerdir.

 

 

 

Windows için MongoDB Kurulumu

Bu dersimizde MongoDB‘nin Windows’a nasıl yüklendiğini göreceksiniz.

1.Öncelikle bu adresten MongoDB’yi indiriyoruz.İşletim sistemize uygun olan MongoDB’yi indirip kurulum yapıyoruz. Özel bir lokasyon belirtmediyseniz MongoDB “C:\Program Files\MongoDB\Server\3.0\bin” altına kurulum yapmıştır.

Tavsiyem “C:\Program Files\MongoDB\Server\3.0\bin” adresini  Windows path sistemine eklemenizdir. Bu sayede komut satırından MongoDb komutlarını rahatça çağırabilirsiniz.

 

mongodb-download

 

2. Bu adımda dbpath’i tanımlıyoruz. Varsayılan path “c:\data\db” dir. Aşağıdaki komutla pathi değişterebilirsiniz.

C:\mongodb\bin\mongod.exe --dbpath d:\test\mongodb\data

3. MongoDB’ye mongo.exe komutunu kullanarak bağlanabilirsiniz.

PS C:\Users\Engin> mongo
MongoDB shell version: 3.0.5
connecting to: test

 

mongodb-server

MongoDB Servisi Başlatma

net start MongoDB

MongoDB Servisi Durdurma

net stop MongoDB

MongoDB Servisi Silme

d:\mongodb\bin>mongod --remove

 

 

Kaynak: http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/