Pl-Sql Tablodaki Kayıtları Yazdırma
-
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
-
İ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; -
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
-
gossipgirltr bunu yazdı
Sitenin linkini atabilir misiniz? Teşekkür ederim