-- UPDATE NO_KTP AGAR 16 DIGIT, ANGKA TERKAHIR AMBIL DARI ROW_NUMBER
DO $$
DECLARE
urut VARCHAR;
NOREG VARCHAR;
CUR1 CURSOR FOR SELECT "NO_REG", row_number() over (order by "NO_REG") as urutan FROM (
select "NO_REG","NO_KTP",LENGTH("NO_KTP") AS KTP from "NSB_P") A
WHERE KTP<>16;
BEGIN
OPEN CUR1;
LOOP
FETCH next from CUR1 INTO NOREG, urut;
EXIT WHEN NOT FOUND;
IF LENGTH(urut)=1 THEN
UPDATE "NSB_P"
SET "NO_KTP"=CONCAT('030100000000000',urut)
WHERE "NO_REG"=NOREG;
END IF;
IF LENGTH(urut)=2 THEN
UPDATE "NSB_P"
SET "NO_KTP"=CONCAT('03010000000000',urut)
WHERE "NO_REG"=NOREG;
END IF;
IF LENGTH(urut)=3 THEN
UPDATE "NSB_P"
SET "NO_KTP"=CONCAT('0301000000000',urut)
WHERE "NO_REG"=NOREG;
END IF;
IF LENGTH(urut)=4 THEN
UPDATE "NSB_P"
SET "NO_KTP"=CONCAT('030100000000',urut)
WHERE "NO_REG"=NOREG;
END IF;
IF LENGTH(urut)=5 THEN
UPDATE "NSB_P"
SET "NO_KTP"=CONCAT('03010000000',urut)
WHERE "NO_REG"=NOREG;
END IF;
END LOOP;
CLOSE CUR1;
END $$;
Langganan:
Posting Komentar (Atom)
Dynamic Query - SQL Server
Berikut adalah contoh dari bentuk dari Dynamic Query di SQL Server yang dibungkus ke dalam Store Procedure: USE [Data00] GO SET ANSI_NULLS ...
Popular Posts
-
CONTOH PENGGUNAAN LOOPING CASE UNTUK UPDATE TANGGAL BAYAR YANG NULL PADAHAL ANGSURAN DI ATASNYA ADA TGL PEMBAYARANNYA declare @norek varc...
-
UBAH FORMAT TANGGAL CONTOH DI DATABASE FORMATNYA YYYY/MM/DD, KITA UBAH JADI DD/MM/YYYY select a.nomor_register_aplikasi no_rekening, a.na...
-
SELECT THN, BLN_THN, KODE, COUNTER_MAX, COUNTER, PANJANG, CASE WHEN PANJANG=4 THEN TO_CHAR(COUNTER) WHEN PANJANG=3 T...
Tidak ada komentar:
Posting Komentar