trallallero
28-07-2006, 08:03
Siccome sono maniaco dell'indentazione :D vorrei diffondere questa mania
nel mondo perché mi son rotto le palle di lavorare con pro*C o pl/sql
scritti alla verga di segugio! Quando hai a che fare con select di 50/60 righe
o union di pagine di codice oltre che maniaco diventi pazzo! :uh:
Quindi, se a qualcuno serve, ho fatto un indentatore sql (solo per select, non insert ne update etc).
Va gunzippato: "gunzip IndentSql.tar.gz" (oppure "gzip -d IndentSql.tar.gz")
Va untarato: tar xf IndentSql.tar
Va compilato (io lavoro su Sun ma dovrei aver usato ANSI C)
Indenta in formato pro*C (per sprintf) o pl/sql. Per le istruzioni:
./IndentSql
senza parametri.
esempio:
SELECT a.pippo, b.pluto,
brazof.paperino, a.paperoga || nvl(
b.xxx, 0), decode(a.paperone, 1,2, 3,4, 666)
,sum(b.importo)
from
ciccio a, cicciolo b,
ajeje brazof
where a.asfdasdasd = 1 and
b.xyz < brazof.aldo
and a.minkiafritta <> b.minkialessa
group by
a.pippo, b.pluto,
brazof.paperino, a.paperoga || nvl(
b.xxx, 0), decode(a.paperone, 1,2, 3,4, 666)
having sum(b.importo) > 0
order by
brazof.azzoneso
diventa (formato pro*C):
" SELECT \n"
" A.pippo , \n"
" B.pluto , \n"
" BRAZOF.paperino , \n"
" A.paperoga||nvl(B.xxx,0) , \n"
" DECODE(A.paperone,1,2, 3,4, 666), \n"
" SUM(B.importo) \n"
" FROM \n"
" ciccio A, \n"
" cicciolo B, \n"
" ajeje Brazof \n"
" WHERE \n"
" A.asfdasdasd = 1 \n"
" AND B.xyz < BRAZOF.aldo \n"
" AND A.minkiafritta <> B.minkialessa \n"
" GROUP BY \n"
" A.pippo , \n"
" B.pluto , \n"
" BRAZOF.paperino , \n"
" A.paperoga||nvl(B.xxx,0) , \n"
" DECODE(A.paperone,1,2, 3,4, 666) \n"
" HAVING \n"
" SUM(B.importo) > 0 \n"
" ORDER BY \n"
" BRAZOF.azzoneso \n"
Immagino non gliene freghi niente a nessuno ma se serve sta qui :D
Ed immagino ne esistano di migliori su sourceforge ma quando l'ho fatto
avevamo solo intranet (allucinante :eek: )
nel mondo perché mi son rotto le palle di lavorare con pro*C o pl/sql
scritti alla verga di segugio! Quando hai a che fare con select di 50/60 righe
o union di pagine di codice oltre che maniaco diventi pazzo! :uh:
Quindi, se a qualcuno serve, ho fatto un indentatore sql (solo per select, non insert ne update etc).
Va gunzippato: "gunzip IndentSql.tar.gz" (oppure "gzip -d IndentSql.tar.gz")
Va untarato: tar xf IndentSql.tar
Va compilato (io lavoro su Sun ma dovrei aver usato ANSI C)
Indenta in formato pro*C (per sprintf) o pl/sql. Per le istruzioni:
./IndentSql
senza parametri.
esempio:
SELECT a.pippo, b.pluto,
brazof.paperino, a.paperoga || nvl(
b.xxx, 0), decode(a.paperone, 1,2, 3,4, 666)
,sum(b.importo)
from
ciccio a, cicciolo b,
ajeje brazof
where a.asfdasdasd = 1 and
b.xyz < brazof.aldo
and a.minkiafritta <> b.minkialessa
group by
a.pippo, b.pluto,
brazof.paperino, a.paperoga || nvl(
b.xxx, 0), decode(a.paperone, 1,2, 3,4, 666)
having sum(b.importo) > 0
order by
brazof.azzoneso
diventa (formato pro*C):
" SELECT \n"
" A.pippo , \n"
" B.pluto , \n"
" BRAZOF.paperino , \n"
" A.paperoga||nvl(B.xxx,0) , \n"
" DECODE(A.paperone,1,2, 3,4, 666), \n"
" SUM(B.importo) \n"
" FROM \n"
" ciccio A, \n"
" cicciolo B, \n"
" ajeje Brazof \n"
" WHERE \n"
" A.asfdasdasd = 1 \n"
" AND B.xyz < BRAZOF.aldo \n"
" AND A.minkiafritta <> B.minkialessa \n"
" GROUP BY \n"
" A.pippo , \n"
" B.pluto , \n"
" BRAZOF.paperino , \n"
" A.paperoga||nvl(B.xxx,0) , \n"
" DECODE(A.paperone,1,2, 3,4, 666) \n"
" HAVING \n"
" SUM(B.importo) > 0 \n"
" ORDER BY \n"
" BRAZOF.azzoneso \n"
Immagino non gliene freghi niente a nessuno ma se serve sta qui :D
Ed immagino ne esistano di migliori su sourceforge ma quando l'ho fatto
avevamo solo intranet (allucinante :eek: )