Apri

Esempi comandi SQL per DB2 AS400

SELECT
  • SELECT TRA 2 FILE
    select alias1.campo2, alias2.campo2 from libreria/file1 alias1, libreria/file2 alias2 where alias1.campo1 = alias2.campo1
    es. select a.descus, b.codord from lib1/custom a, lib1/order b where a.codcus = b.codcus
  • SELECT IN
    select * from libreria/file alias where alias.campo in (select campo2 from libreria/file2 where campo3 = valore)
    es. select * from lib1/price a a.codpn in (select codpn from lib1/partnum where codsup = ‘SUP1’)
  • SELECT (FETCH) per restituire solo un certo numero di record
    select * from libreria/file fetch first 10 rows only
    es. select * from lib1/price fetch first 10 rows only
  • SELECT (attributi campi file) per recuperare caratteristiche dei campi di un file (tabella)
    select * from syscolumns where table_schema = 'Libreria' and table_name = 'nome file' order by ordinal_position
    es. select * from syscolumns where table_schema = 'LIB1' and table_name = 'PRICE' order by ordinal_position
  • SELECT (contare ripetizioni) per contare quante volte presente un valore
    select campo1, campo2, count(*) from libreria/file group by campo1,campo2
    es. select yyyyor, custom, count(*) from lib1/ordcus group by yyyyor, custom
  • SELECT (per numero di record) utile per paginazioni
    select * from libreria/file where rrn(file) <>= numero_record
    es. select * from lib1/custom where rrn(custom) > 100

UPDATE
  • UPDATE campo con select in
    update libreria/file alias set campo = (select campob from libreria/file2 alias2 where alias2.campoc = alias.campod) where alias.campo in (select campof from libreria/file2)
    es. update lib1/renpn a set codsup = (select codsup from lib1/partnu b where b.codpn = a.codpn) where a.codpn in (select codpn from lib1/partnu)
  • UPDATE con sostituzione carattere
    update libreria/file1 se campo1 = replace(campo1, 'carattere da sostituire', 'carattere sostitutivo') es. update lib1/custom set addr = replace(addr, ',','')
  • UPDATE - concat(stringa1,stringa2) e char(campo_numerico) per concatenare e convertire in stringa
    update libreria/file set campo = concat(char(campo_numerico),campo_stringa1),campo_stringa2)
    es. update lib1/order set ordcha = concat(concat(char(yyyyor),char(numord)),cusnam))
    In caso di sql con membro interattivo sostituire "concat" con ||
    es....ordcha = char(yyyyor)||char(numord))||cusnam
    In caso di sql con membro batch sostituire "concat" con !!
    es....ordcha = char(yyyyor)!!char(numord))!!cusnam

    INSERT
  • INSERT inserire nuovo record nel file
    insert into libreria/file(campo1,campo2,campo3) values('primo_valore_stringa', secondo_valore_numerico, 'terzo_valore_stringa')
    es. insert into lib1/custom(cuname,cusurn,cubudg) values('Mario','Rossi',10000)