Aracılığıyla paylaş


İŞLEM OLUŞTUR

Önemli

Bu özellik Genel Önizleme aşamasındadır.

Şunlar için geçerlidir: Databricks Runtime 17.0 ve üzeri sadece Unity Kataloğu için işaretlendi

Unity Kataloğu'nda bağımsız değişkenleri alan veya değiştiren, SQL deyimleri kümesini yürüten ve isteğe bağlı olarak bir sonuç kümesi döndüren bir yordam oluşturur.

Konumsal parametre çağırmaya ek olarak, adlandırılmış parametre çağırma kullanarak yordamları da çağırabilirsiniz.

Sözdizimi

CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]
    procedure_name ( [ procedure_parameter [, ...] ] )
    [ characteristic [...] ]
    AS compound_statement

procedure_parameter
    [ IN | OUT | INOUT ] parameter_name data_type
    [ DEFAULT default_expression ] [ COMMENT parameter_comment ]

characteristic
  { LANGUAGE SQL |
    SQL SECURITY INVOKER |
    NOT DETERMINISTIC |
    COMMENT procedure_comment |
    MODIFIES SQL DATA ] }

Parametreler

  • VEYA DEĞİŞTİR

    Belirtilirse, aynı ada sahip bir yordam değiştirilir. Mevcut bir işlevi bir yordamla değiştiremezsiniz. Bu parametreyi ile IF NOT EXISTSbelirtemezsiniz.

  • EĞER MEVCUT DEĞİLSE

    Belirtilirse, yordamı yalnızca bu nota sahip bir yordam henüz mevcut olmadığında oluşturur. Aynı ada sahip bir yordam varsa, bildirim göz ardı edilir. Bu parametreyi ile OR REPLACEbelirtemezsiniz.

  • procedure_name

    İşlemin adı. İsteğe bağlı olarak yordam adını bir şema adıyla niteleyebilirsiniz. Ad uygun değilse, geçerli şemada kalıcı yordam oluşturulur.

    Yordam adı, şemadaki tüm yordamlar (yordamlar ve işlevler) için benzersiz olmalıdır.

  • procedure_parameter

    Yordamın bir parametresini belirtir.

    • parameter_name

      Parametre adı, prosedür içinde benzersiz olmalıdır.

    • IN, INOUT veya OUT

      İsteğe bağlı olarak parametresinin modunu açıklar.

      • İÇİN

        Yalnızca giriş parametresini tanımlar. Varsayılan değer budur.

      • INOUT

        Bir giriş-çıkış bağımsız değişkenini kabul eden bir parametre tanımlar. Yordam işlenmeyen bir hata olmadan tamamlanırsa, son parametre değerini çıkış olarak döndürür.

      • DIŞARIYA

        Bir çıkış parametresi tanımlar. Parametre, NULL olarak başlatılır ve eğer yordam işlenmeyen bir hatayla tamamlanmazsa, son parametre değeri çıktı olarak döndürülür.

    • veri_türü

      Desteklenen herhangi bir veri türü.

    • DEFAULT default_expression

      bir işlev çağrısı parametreye bağımsız değişken atamadığında kullanılacak isteğe bağlı varsayılan değerdir. default_expression, 'ye dönüştürülebilir olmalıdır. İfade başka bir parametreye başvurmamalı veya bir alt sorgu içermemelidir.

      Bir parametre için varsayılan değer belirttiğinizde, aşağıdaki tüm parametrelerin de varsayılanı olmalıdır.

      DEFAULT parametreler için OUT desteklenmez.

    • YORUM

      Parametresinin isteğe bağlı açıklaması. comment sabit STRING olmalıdır.

  • bileşik_ifade

    SQL Yordamının tanımına sahip bir SQL bileşik deyimi (BEGIN ... END).

    Yordam oluşturulduğunda, sözdizimsel doğruluk doğrulanır. Yordam çağrılana kadar yordam gövdesi anlamsal geçerlilik için doğrulanmaz.

  • özellik

    Karakteristik SQL SECURITY INVOKER ve LANGUAGE SQL gerekli. Diğerleri isteğe bağlıdır. Herhangi bir sırada istediğiniz sayıda özellik belirtebilirsiniz, ancak her cümleyi yalnızca bir kez belirtebilirsiniz.

    • LANGUAGE SQL

      İşlev uygulamasının dili.

    • SQL GÜVENLIK ÇAĞıRıCıSı

      Prosedür gövdesindeki tüm SQL ifadelerinin, prosedürü çağıran kullanıcının yetkisi altında yürütüleceğini belirtir.

      Azure Databricks, yordamın gövdesindeki ilişkileri ve yordamları çözümlerken, çağrı sırasında geçerli kataloğu ve geçerli şemayı kullanır.

    • DETERMINISTIK DEĞİl

      Bir yordamın belirsiz olduğu varsayılır, yani aynı bağımsız değişkenlerle çağrıldığında bile her çağrıda farklı sonuçlar döndürebilir.

    • YORUM işlem_yorumu

      Prosedür için bir yorum. procedure_comment STRING değişmez değer olmalıdır. Varsayılan değer: NULL.

    • SQL VERILERINI DEĞIŞTIRIR

      SQL verilerini değiştirmek için bir yordam varsayılır.

Örnekler

-- Demonstrate INOUT and OUT parameter usage.
> CREATE OR REPLACE PROCEDURE add(x INT, y INT, OUT sum INT, INOUT total INT)
    LANGUAGE SQL
    SQL SECURITY INVOKER
    COMMENT 'Add two numbers'
    AS BEGIN
        SET sum = x + y;
        SET total = total + sum;
    END;
> DECLARE sum INT;
> DECLARE total INT DEFAULT 0;
> CALL add(1, 2, sum, total);
> SELECT sum, total;
 3 3
> CALL add(3, 4, sum, total);
 7 10

-- The last executed query is the result set of a procedure
> CREATE PROCEDURE greeting(IN mode STRING COMMENT 'informal or formal')
    LANGUAGE SQL
    SQL SECURITY INVOKER
    AS BEGIN
        SELECT 'Hello!';
        CASE mode WHEN 'informal' THEN SELECT 'Hi!';
                  WHEN 'forma' THEN SELECT 'Pleased to meet you.';
        END CASE;
    END;
> CALL greeting('informal');
  Hi!

> CALL greeting('formal');
  Pleased to meet you.

> CALL greeting('casual');
  Hello!