Új hozzászólás Aktív témák
-
válasz
baracsi #2225 üzenetére
Köszönöm az útbaigazítást,
ez alapján is:
Közkinccsé:
tárolt eljárás, ami meghíváskor a paraméterben átadott névre (név_mentes_évhónap) illetve ugyanazon nevű forrástábla alapján úgy hozza létre az új táblát, hogy ellenőrzi az adandó táblanévvel létezik-e már tábla és ha nem, létrehozáskor megőrzi a forrás tábla beállításait (kulcs oszlop, stb):
DELIMITER //
CREATE PROCEDURE tabla_masolas(IN tablanev VARCHAR(255))
BEGIN
DECLARE uj_tabla VARCHAR(255);
SET uj_tabla = CONCAT(tablanev,'_mentes_', DATE_FORMAT(NOW(), '%Y%m%d'));IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema = DATABASE() AND table_name = uj_tabla) THEN
-- Létrehozzuk az új táblát az eredeti tábla szerkezetével
SET @sql_code = CONCAT('CREATE TABLE ', uj_tabla, ' LIKE ', tablanev);PREPARE stmt FROM @sql_code;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- Másoljuk át az adatokat az eredeti táblából az új táblába
SET @sql_code = CONCAT('INSERT INTO ', uj_tabla, ' SELECT * FROM ', tablanev);PREPARE stmt FROM @sql_code;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
ELSE
SELECT 'A képzendő táblanév már létezik.';
END IF;
END //
DELIMITER ;
Új hozzászólás Aktív témák
- BESZÁMÍTÁS! ASUS B760M i7 13700K 32GB DDR4 512GB SSD RX 6800XT 16GB Phanteks Eclipse P400 Glacier
- Samsung Galaxy S23 Plus / 8/512GB / Kártyafüggetlen / 12 Hó Garancia
- Bomba ár! Dell Latitude 5300 - i5-8GEN I 8GB I 256SSD I 13,3" HD I HDMI I Cam I W11 I Gari!
- Lenovo Yoga Pro 9 (14IRP8) - Intel Core i9-13905H, RTX 4060
- ÚJ ÁRU 08.25. !! Dell Latitude Precision Üzleti gépek, 2-in-1 gépek, Vostro 8-12. gen szinte minden.
Állásajánlatok
Cég: FOTC
Város: Budapest