• 12-05-2018, 14:54:53
    #1
    Arkadaşlar merhaba,

    MySQL'i yeni kullanıyorum ve çözemediğim bir şey oldu.

    MS SQL Server üzerinde
    Create Procedure ProcedureName (@parametre1 INT, @parametre2 NVARCHAR(MAX), @StatementType NVARCHAR(MAX))
    as
    begin
    IF @StatementType = 'burası buysa koşulu'
    begin
    Select * From Cariler Where CariId = @parametre1
    end
    IF @StatementType = 'şurası şuysa koşulu'
    begin
    Select * From Personeller Where PersonelAdi = @parametre2
    end
    end

    şeklinde bir procedure oluşturabiliyordum. Ancak MySQL'de böyle bir şeyin nasıl yapılacağı konusunda bir bilgiye denk gelemedim.
    Böyle bir şey MySQL'de var mı? Yoksa boşa mı arıyorum. Var ise nasıl yazabilirim?
    Bilen arkadaşlara ricamdır.
  • 12-05-2018, 21:05:01
    #3
    @PİEycPİ teşekkürler yanıt için ancak bunu biliyorum zaten.
    SQL Server biliyorsan, aşağıdaki gibi bir yazımı oluyor.
    create procedure spPersonel
    (
    @pPersonelId INT,
    @pIsim NVARCHAR(MAX),
    @pSoyisim NVARCHAR(MAX),
    @StatementType nvarchar(100)
    )
    BEGIN
    IF StatementType = 'PersonelSec'
    BEGIN
    Select * From Personel Where PersonelId = @pPersonelId;
    END;
    IF StatementType = 'EditorInsert' THEN
    BEGIN
    Update Personel Set Isim = @pIsim Where PersonelId = @pPersonelId;
    END;
    END;

    şeklinde bir yazımı var.
    Bunun MySQL versiyonu lazım. Yani tek bir procedure içinde koşullara bağlı olarak sonuç getirmek istiyorum. Personel select için farklı, insert ya da farklı bir işlem için ayrı procedure'ler oluşturmadan yani.