Provided by: manpages-tr_1.0.5.1-2_all bug

İSİM

       CREATE OPERATOR - yeni bir işleç tanımlar

KULLANIM

       CREATE OPERATOR isim (
           PROCEDURE = işlev_ismi
           [, LEFTARG = soltaraf_türü ] [, RIGHTARG = sağtaraf_türü ]
           [, COMMUTATOR = eşittir_işleci ] [, NEGATOR = değil_işleci ]
           [, RESTRICT = sınırlama_işlevi ] [, JOIN = katılım_işlevi ]
           [, HASHES ] [, MERGES ]
           [, SORT1 = sol_sıralama_işleci ] [, SORT2 = sağ_sıralama_işleci ]
           [, LTCMP = küçüktür_işleci ] [, GTCMP = büyüktür_işleci ]
       )

AÇIKLAMA

       CREATE  OPERATOR  isim  adında  yeni  bir  işleç  tanımlar.  İşlecin  sahibi  komutu çalıştıran kullanıcı
       olacaktır. Eğer bir şema ismi belirtilmişse, işleç belirtilen şemada  oluşturulur.  Aksi  takdirde  o  an
       geçerli olan şemada oluşturulur.

       İşlecin  ismi  en  fazla  NAMEDATALEN-1 (öntanımlı 63) karakter içerebilir ve sadece şu karakterlere izin
       verilir:

       + - * / < > = ~ ! @ # % ^ & | ` ?

       İsim seçimi ile ilgili bir kaç sınırlama daha vardır:

       ·      -- ve /* dizgeleri açıklama başlangıcını gösterdiğinden, işleç isminde bulunamazlar.

       ·      Aşağıdaki karakterlerden en az birini içermedikçe, bir çok karakterli işleç  ismi  +  veya  -  ile
              bitemez.

              ~ ! @ # % ^ & | ` ?
              Örneğin, @- bir işleç ismi olabilirken, *- bir işleç ismi olamaz. Bu sınırlama sayesinde, işleç ve
              terimler arasında boşluk bırakılmasa bile PostgreSQL, SQL uyumlu komutları çözümleyebilir.

       != işleci girdide, <> işleci olarak ele alınır, dolayısıyla bu iki isim daima eşdeğerdir.

       En   azından   LEFTARG   ve  RIGHTARG'dan  biri  tanımlanmalıdır.   İki  terimliler  için  her  ikisi  de
       tanımlanmalıdır.  Artçıl  tekterimlilerde  sadece  LEFTARG,   öncül   tekterimlilerde   sadece   RIGHTARG
       tanımlanmalıdır.

       işlev_ismi  işlevi  CREATE FUNCTION kullanılarak evvelce türleri belirtilerek doğru sayıda argümanla (bir
       ya da iki) tanımlanmış olmalıdır.

       Diğer deyimler isteğe bağlı işleç eniyileme deyimleridir.
       http://www.postgresql.org/uygulamalar/pgsql/xoper-optimization.html    adresinde    bunların    anlamları
       ayrıntılı olarak anlatılmıştır.

PARAMETRELER

       isim   Tanımlanacak  işlecin  ismi. İzin verilen karakterler yukarıda açıklanmıştı. İsim, CREATE OPERATOR
              myschema.+ (...) örneğinde olduğu gibi şema nitelemeli olabilir.  Değilse,  işleç  o  anki  şemada
              oluluşturulur.  Aynı  şema  içinde,  farklı  veri  türleri  ile  işlem yapan iki işlecin ismi aynı
              olabilir.

       işlev_ismi
              Bu işleci gerçeklemede kullanılan işlev.

       soltaraf_türü
              İşlecin sol tarafındaki terimin veri türü. Bu seçenek öncül tekterimlilerde atlanır.

       sağtaraf_türü
              İşlecin sağ tarafındaki terimin veri türü. Bu seçenek artçıl tekterimlilerde atlanır.

       öndeç_işleç
              Bu işlecin öndeci.

       değil_işleci
              Bu işlecin olumsuzlayıcısı.

       sınırlama_işlevi
              Bu işleç için sınırlama seçici işlev.

       katılım_işlevi
              Bu işleç için katılım seçici işlev.

       HASHES Bu işlecin bir çırpılamalı katılımı desteklediğini belirtir.

       MERGES Bu işlecin katıştırmalı katılımı desteklediğini belirtir.

       sol_sıralama_işleci
              Bu işleç katılımı destekliyorsa, küçüktür işleci bu işlecin sol taraf veri türünü sıralar.

       sağ_sıralama_işleci
              Bu işleç katılımı destekliyorsa, küçüktür işleci bu işlecin sağ taraf veri türünü sıralar.

       küçüktür_işleci
              Bu işleç katılımı destekliyorsa, küçüktür işleci bu işlecin girdi veri türlerini karşılaştırır.

       büyüktür_işleci
              Bu işleç katılımı destekliyorsa, büyüktür işleci bu işlecin girdi veri türlerini karşılaştırır.

       İsteğe bağlı başka bir argüman  ya  da  eşittir_işleci'inde  bir  şema  nitelemeli  isim  belirtmek  için
       OPERATOR() sözdizimini kullanın. Örnek:

       COMMUTATOR = OPERATOR(myschema.===) ,

EK BİLGİ

       Daha fazla bilgi için:
       http://www.postgresql.org/uygulamalar/pgsql/xoper.html

       Bir  veritabanındaki kullanıcı tanımlı işleçleri silmek için DROP OPERATOR [drop_operator(7)] kullanılır.
       Bir veritabanındaki işleçlerde değişiklik yapmak için ALTER OPERATOR [alter_operator(7)] kullanılır.

ÖRNEKLER

       Aşağıdaki örnekte, box veri türü için alan eşitliği ile ilgili yeni bir işleç tanımlanmaktadır.

           CREATE OPERATOR === (
               LEFTARG = box,
               RIGHTARG = box,
               PROCEDURE = area_equal_procedure,
               COMMUTATOR = ===,
               NEGATOR = !==,
               RESTRICT = area_restriction_procedure,
               JOIN = area_join_procedure,
               HASHES,
               SORT1 = <<<,
               SORT2 = <<<
               -- Sıralama işleçleri verildiğinden, MERGES uygulanır.
               -- LTCMP için < ve GTCMP için > varsayılmıştır.
           );

UYUMLULUK

       CREATE OPERATOR bir  PostgreSQL oluşumudur.  SQL standardında kullanıcı tanımlı işleçler için  bir  bahis
       yoktur.

İLGİLİ BELGELER

       ALTER OPERATOR [alter_operator(7)],
       CREATE OPERATOR CLASS [create_operator_class(7)],
       DROP OPERATOR [drop_operator(7)].

ÇEVİREN

       Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Nisan 2005

PostgreSQL                                                                                    CREATE OPERATOR(7)