Per concedere un certo diritto su una tabella ad un altro user/schema la sintassi è la seguente :
GRANT <diritto> ON
<tabella> TO < user>
GRANT SELECT ON PIACON TO DITTA1
martedì 8 maggio 2012
mercoledì 4 aprile 2012
Esercizi su funzioni per date di SqlServer
Qui sotto c'è un esempio di due funzioni per la manipolazione di date su SQLServer
DATEADD aggiunge un valore ad una certa data
DATEDIFF restituisce la differenza fra due date
-------------------------------------------------------
select CODICE "Articolo", DESCRIZION "Descrizione",
substring(DATACREAZI,7,2)+'/' +substring(DATACREAZI,5,2)+'/' +substring(DATACREAZI,1,4) "Dt. Creazione",
DATEADD(year, 2, DATACREAZI) "Uscita produzione",
substring(ULT_AGG,7,2)+'/'+ substring(ULT_AGG,5,2)+'/'+ substring(ULT_AGG,1,4) "Dt. Ult. Agg",
DATEDIFF(day, ULT_AGG, GETDATE()) "gg. dall'ult. aggiorn."
FROM ANAMAGA
WHERE STATO = 'S'
-------------------------------------------------------
"Uscita produzione": 2 anni successivi a DATACREAZI
"gg. dall'ult. aggiorn.": differenza in giorni dal valore del campo ULT_AGG alla data odierna.
Grazie a Gianni per la ricerca
Riferimenti su web
http://www.w3schools.com/sql/ func_dateadd.asp
http://www.sql-server-helper. com/tips/date-formats.aspx
DATEADD aggiunge un valore ad una certa data
DATEDIFF restituisce la differenza fra due date
-------------------------------------------------------
select CODICE "Articolo", DESCRIZION "Descrizione",
substring(DATACREAZI,7,2)+'/'
DATEADD(year, 2, DATACREAZI) "Uscita produzione",
substring(ULT_AGG,7,2)+'/'+
DATEDIFF(day, ULT_AGG, GETDATE()) "gg. dall'ult. aggiorn."
FROM ANAMAGA
WHERE STATO = 'S'
-------------------------------------------------------
"Uscita produzione": 2 anni successivi a DATACREAZI
"gg. dall'ult. aggiorn.": differenza in giorni dal valore del campo ULT_AGG alla data odierna.
Grazie a Gianni per la ricerca
Riferimenti su web
http://www.w3schools.com/sql/
http://www.sql-server-helper.
giovedì 29 marzo 2012
Query per dati registro cespiti di prova
La query di cui sotto restituisce gli stessi dati ( a dir la verità mi mancano le rivalutazioni/svalutazioni ) che vengono stampati durante la stampa di prova del registro cespiti
Dopo la stampa definitiva, la query deve essere rivista.
La query estrae i dati dettagliati per cespite. E' sufficiente utilizzare i subtotali di Excel per totalizzare per Categoria
PS. La query è fatta per ORACLE ( la variazioni per altri db sono semplici )
------------- Inizio Testo Query -----------------------------------------------
select
c.categoria,cat.descrizion,c. codice,c.descrizion,
substr(datainiamm,7,2)||'/'|| substr(datainiamm,5,2)||'/'|| substr(datainiamm,1,4) Data_Ini_Amm,
case
when acq.datareg is not null then
substr(acq.datareg,7,2)||'/'|| substr(acq.datareg,5,2)||'/'|| substr(acq.datareg,1,4)
end
Data_Acq,
c.numfatfor,
substr(c.datafatfor,7,2)||'/'| |substr(c.datafatfor,5,2)||'/' ||substr(c.datafatfor,1,4) data_fatt_for,
nvl(acq.eimporto,0) imp_acq,
c.evaloreini costo_sto,c.ebaseammor base_amm,
c.eresiduoam-nvl(amm.eimporto, 0) residuo_amm, c.eimpnonamm non_amm,
c.etotaleamm+nvl(amm.eimporto, 0) fondo_amm,
nvl(ali.eimporto,0) ali_anno,
nvl(amm.eimporto,0) amm_anno,
c.eplusval-c.eminusval plus_min,
c.eresiduocv-nvl(amm. eimpammciv,0) residuo_amm_civ,
c.eplusciv-c.eminusciv plus_min_civ,
c.efondociv+nvl(amm. eimpammciv,0) fondo_civ,
nvl(amm.eimpammciv,0) amm_civ_anno,
nvl(ali.etotaleamm,0) ali_anno_tot_fondo,
nvl(ali.eimpammort,0) ali_tot_costo_storico,
nvl(ali.etotammciv,0) ali_anno_tot_fondo_civ,
c.evaloreini-nvl(ali. eimpammort,0) netto_ali_costo_sto,
c.etotaleamm+nvl(amm.eimporto, 0)-nvl(ali.etotaleamm,0) netto_ali_fondo_amm,
c.efondociv+nvl(amm. eimpammciv,0)-nvl(ali. etotammciv,0) netto_ali_fondo_amm_civ,
nvl(amm.eimporto,0) importo_amm,
nvl(amm.eimpammciv,0) importo_amm_civ,
nvl(AMm.Percamm,0) pct_amm,
nvl(AMm.Perc_civ,0) pct_civ
from
( select * from cespiti
where 1=1
and codice is not null
and (
(datainiamm < '2012')
or
(exists ( select 1 from movce m1 where m1.categoria=cespiti.categoria and m1.codcespite=cespiti.codice and tipomov='A' and esereg='2011')
))
and (
(alienat_sn='N') or
( alienat_sn='S' and exists ( select 1 from movce m1 where m1.categoria=cespiti.categoria and m1.codcespite=cespiti.codice and tipomov='L' and esereg='2011')
)
)
) c
inner join siglapp.catbeni cat on c.categoria=cat.codice
left outer join (
select * from movce where esereg='2011'
and tipomov='M') amm
on c.categoria=amm.categoria
and c.codice=amm.codcespite
left outer join (
select * from movce where esereg='2011'
and tipomov='L') ali
on c.categoria=ali.categoria
and c.codice=ali.codcespite
left outer join (
select * from movce where esereg='2011'
and tipomov='A') acq
on c.categoria=acq.categoria
and c.codice=acq.codcespite
order by c.categoria,c.codice
------------- Fine Testo Query -----------------------------------------------
mercoledì 8 febbraio 2012
Sigla non supporta Mysql 5.5
Mysql 5.5 non è supportato alla data odierna ( 08/02/2012 ) da Sigla++.
In fase di creazione di una tabella su Mysql, Sigla inserisce al termine dello statement SQL, la stringa TYPE=InnoDb
In MySql 5.5 tale opzione è stata sostituita con l'opzione ENGINE=InnoDb
Quindi in fase di creazione delle tabelle, Sigla si schianta.
In fase di creazione di una tabella su Mysql, Sigla inserisce al termine dello statement SQL, la stringa TYPE=InnoDb
In MySql 5.5 tale opzione è stata sostituita con l'opzione ENGINE=InnoDb
Quindi in fase di creazione delle tabelle, Sigla si schianta.
giovedì 26 gennaio 2012
Backup Db2
La sintassi per effettuare il backup di un database di DB2 è il seguente :
BACKUP DATABASE db [USER user USING password ] TO path
esempio
BACKUP DATABASE SIGLAP USER db2 USING db2 TO C:\COPIADB2
La sintassi completa è qui
BACKUP DATABASE db
esempio
BACKUP DATABASE SIGLAP USER db2 USING db2 TO C:\COPIADB2
La sintassi completa è qui
venerdì 25 novembre 2011
Creazione Database Db2
Quando si crea un database con le ultime versioni di Db2 (9.7.4 Express), il sistema la crea per la regione Italia.
In questo caso ci sono dei problemi su alcuni caratteri che non vengono riconosciuti e generano degli errori.
Per ovviare al problema è sufficiente specificare, durante la creazione del database, la regione Stati Uniti o altrimenti, da riga di comandi, lanciare il comando:
CREATE DATABASE DITTA2 AUTOMATIC STORAGE YES ON 'C:\' DBPATH ON 'C:\' USING CODESET 1252 TERRITORY US COLLATE USING SYSTEM PAGESIZE 4096
martedì 4 ottobre 2011
Tasti funzione su nuove tastiere
Sulle nuove tastiere i tasti funzioni sono dotati di funzioni speciali ( volume, multimedia, sospensione, ecc..).
Premendo il tasto Fn contemporaneamente al tasto funzione si ha la vecchia impostazione (F2 per rinomina file, F1 help ecc).
Sui computer Lenovo per attivare di default la vecchia modalità è necessario lanciare il programma "Lenovo Slim USB Keyboard", flaggare il check presente e riavviare il pc.
Premendo il tasto Fn contemporaneamente al tasto funzione si ha la vecchia impostazione (F2 per rinomina file, F1 help ecc).
Sui computer Lenovo per attivare di default la vecchia modalità è necessario lanciare il programma "Lenovo Slim USB Keyboard", flaggare il check presente e riavviare il pc.
Iscriviti a:
Post (Atom)