-- 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
-
select round(5.123456 , 2) from dual ==> 5.12 select round(5.87654 , 2) from dual ==> 5.88 select floor(5.89) from dual ==> 5 s...
-
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...
-
Contoh kita igin restore database di lokal: 1.create new database (jika sudah ada yg lama bisa di rename dulu, baru create yang baru) (cont...
Tidak ada komentar:
Posting Komentar