folder Tahribat.com Forumları
linefolder Database - Veritabanı
linefolder Pl-Sql Tablodaki Kayıtları Yazdırma



Pl-Sql Tablodaki Kayıtları Yazdırma

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    gossipgirltr
    gossipgirltr's avatar
    Kayıt Tarihi: 25/Eylül/2015
    Dişi

    Merhaba Arkadaşlar, Pl-sql ile prosedure'e gelen tablo ismi ile o tablodaki kayıtları dosyaya yazdırmak istiyorum. tablonun özelliklerini dosyaya yazdırdım ama tablodaki kayıtları nasıl yazdırabilirim? dinamik olucağı için her tabloya göre değişicek . Yardımcı olabilirseniz sevinirim


    Hayatta en pahalı şey tecrübedir. Çünkü kazanmak için , Kaybetmek gerekir.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Yazilimci
    Yazilimci's avatar
    Kayıt Tarihi: 01/Şubat/2014
    Erkek

    İnternette şöyle birşey buldum. Başarıyla çalıştığını yazmışlar. Bunu kendine göre düzenlersen sanırım sorunun çözülecek

    REPLACE PROCEDURE MYSP
    (
    IN SRC_DB_NM VARCHAR(30),
    IN SRC_TBL_NM VARCHAR(30),
    OUT MESSAGE VARCHAR(200)
    )
    DYNAMIC RESULT SETS 1

    BEGIN

    DECLARE QUERY VARCHAR(200);
    DECLARE REC_COUNT INTEGER DEFAULT 0;
    DECLARE STATUS CHAR(10) DEFAULT '00000';
    DECLARE C1 CURSOR FOR S1;

    DECLARE EXIT HANDLER FOR SQLEXCEPTION,SQLWARNING
    BEGIN
    SET STATUS = SQLCODE;
    IF(TRIM(STATUS)) = '3807' THEN
    SET MESSAGE = 'PASSED TABLE '||SRC_DB_NM||'.'||SRC_TBL_NM||' DOES NOT EXIST';
    ELSE
    SET MESSAGE = 'ERROR';
    END IF;
    END;

    BEGIN
    SET QUERY = 'SELECT COUNT(*) FROM ' || SRC_DB_NM || '.' || SRC_TBL_NM || ';';
    PREPARE S1 FROM QUERY;
    OPEN C1 USING SRC_DB_NM,SRC_TBL_NM;
    FETCH C1 INTO REC_COUNT;
    SET MESSAGE = REC_COUNT;
    END;

    END;

    Titanyumun gücü adına!!!
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    gossipgirltr
    gossipgirltr's avatar
    Kayıt Tarihi: 25/Eylül/2015
    Dişi
    Yazilimci bunu yazdı

    İnternette şöyle birşey buldum. Başarıyla çalıştığını yazmışlar. Bunu kendine göre düzenlersen sanırım sorunun çözülecek

    REPLACE PROCEDURE MYSP
    (
    IN SRC_DB_NM VARCHAR(30),
    IN SRC_TBL_NM VARCHAR(30),
    OUT MESSAGE VARCHAR(200)
    )
    DYNAMIC RESULT SETS 1

    BEGIN

    DECLARE QUERY VARCHAR(200);
    DECLARE REC_COUNT INTEGER DEFAULT 0;
    DECLARE STATUS CHAR(10) DEFAULT '00000';
    DECLARE C1 CURSOR FOR S1;

    DECLARE EXIT HANDLER FOR SQLEXCEPTION,SQLWARNING
    BEGIN
    SET STATUS = SQLCODE;
    IF(TRIM(STATUS)) = '3807' THEN
    SET MESSAGE = 'PASSED TABLE '||SRC_DB_NM||'.'||SRC_TBL_NM||' DOES NOT EXIST';
    ELSE
    SET MESSAGE = 'ERROR';
    END IF;
    END;

    BEGIN
    SET QUERY = 'SELECT COUNT(*) FROM ' || SRC_DB_NM || '.' || SRC_TBL_NM || ';';
    PREPARE S1 FROM QUERY;
    OPEN C1 USING SRC_DB_NM,SRC_TBL_NM;
    FETCH C1 INTO REC_COUNT;
    SET MESSAGE = REC_COUNT;
    END;

    END;

    Sitenin linkini atabilir misiniz? Teşekkür ederim


    Hayatta en pahalı şey tecrübedir. Çünkü kazanmak için , Kaybetmek gerekir.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Yazilimci
    Yazilimci's avatar
    Kayıt Tarihi: 01/Şubat/2014
    Erkek
    gossipgirltr bunu yazdı

    Sitenin linkini atabilir misiniz? Teşekkür ederim

    https://community.teradata.com/t5/Database/Using-Dynamic-databasename-and-tablename-in-stored-procedure/td-p/51866


    Titanyumun gücü adına!!!
Toplam Hit: 1401 Toplam Mesaj: 4
sql oracle pl-sql