Afisare joburi cu erori
In cazul in care avem un server de sql pe care ruleaza foarte multe joburi, ne este necesar un raport rapid cu joburile care, din diverse motive, au dat eroare.
Soluții pentru problemele tale IT
In cazul in care avem un server de sql pe care ruleaza foarte multe joburi, ne este necesar un raport rapid cu joburile care, din diverse motive, au dat eroare.
Pentru cazurile in care avem nevoie de validarea unui IBAN, am creat o procedura ce face acest lucru.
Procedura are doi parametri:
Pentru cazurile in care avem nevoie intr-o aplicatie (sau extern unei aplicatii) de validarea unui CNP, am facut o procedura ce face acest lucru. Procedura primeste ca parametru un varchar @CNP si, in cazul in care este valid , procedura returneaza 1, iar in cazul in care este invalid procedura returneaza 0.
[mai mult...]Una dintre functiile nedreptatite din sql server (in sensul ca este foarte putin cunoscuta si folosita) este NTILE().
Daca primim o cerinta de la departamentele de business in care ni se cere sa impartim salariatii in 3 echipe in fuctie de topul salariilor (fara sa tinem cont de departamente), am putea sa realizam acest lucru folosind tabele temporare sau un cursor.
O varianta mult mai eleganta si mai simpla este insa functia NTILE().
Aceasta functie primeste si ea doi parametrii:
– primul este un intreg si reprezinta numarul de partitionari dorite (ca sa fie mai clar reprezinta in cate echipe sa imparta numarul de angajati din tabela test_angajati)
– al doilea parametru este o coloana (sau mai multe) din tabela si reprezinta coloana (sau coloanele) de care sa tina cont cand face aceasta partitionare.
Pentru a fi foarte clar, in scriptul de mai jos am creat o tabela in care am inserat valori:
drop table test_angajati
create table test_angajati
(
id int identity (1,1),
nume varchar(max),
departament varchar(max),
varsta int,
salariu int
)
insert into test_angajati
values (‘Georgescu Mihai’, ‘IT’,24, 2400)
insert into test_angajati
values (‘Popescu Ionel’, ‘Contabilitate’,70, 7000)
insert into test_angajati
values (‘Popescu Mihai’, ‘Distributie’,45, 4500)
insert into test_angajati
values (‘Marinescu Elena’, ‘Contabilitate’,56, 6900)
insert into test_angajati
values (‘Calimanescu Geo’, ‘IT’,24, 2400)
insert into test_angajati
values (‘Eminescu Mihai’, ‘IT’,37, 3800)
insert into test_angajati
values (‘Ionescu Bogdan’, ‘Distributie’,38, 3800)
insert into test_angajati
values (‘Ionescu Emil’, ‘Contabilitate’,70, 7000)
insert into test_angajati
values (‘Ionescu Costin’, ‘Contabilitate’,69, 6900)
insert into test_angajati
values (‘Ionescu Gogu’, ‘Contabilitate’,20, 4300)
select * from test_angajati
id nume departament varsta salariu
1 Georgescu Mihai IT 24 2400
2 Popescu Ionel Contabilitate 70 7000
3 Popescu Mihai Distributie 45 4500
4 Marinescu Elena Contabilitate 56 6900
5 Calimanescu Georgeta IT 24 2400
6 Eminescu Mihai IT 37 3800
7 Ionescu Bogdan Distributie 38 3800
8 Ionescu Emil Contabilitate 70 7000
9 Ionescu Costin Contabilitate 69 6900
10 Ionescu Gogu Contabilitate 20 4300