Documente Academic
Documente Profesional
Documente Cultură
Insert Select in BD
Insert Select in BD
Pentru a insera noi rnduri ntr-un tabel sau ntr-o vedere se utilizeaz
comanda INSERT. O linie nou inserat va ocupa n tabel o locaie arbitrar
(independena logic a datelor n bazele de date relaionale). Comanda INSERT are
una din urmtoarele dou forme:
INSERT [INTO] denumire_Tabel [(denumire_coloan[,])]
VALUES (expresie [, )
INSERT [INTO] denumire_Tabel [(denumire_coloan[,])]
Comanda_Select
Prima form permite inserarea direct a unui rnd ntr-un tabel al bazei de
date, iar a doua form permite inserarea mai multor rnduri care sunt rezultatul unei
comenzi SELECT.
expresie poate fi o expresie constant, null(dac este acceptat) sau default (dac este
definit o valoare implicit).
Dac lista coloanelor lipsete, atunci valorile din clauza values trebuie introduse n
ordinea n care se gsesc coloanele n tabel.
Dac se introduc date doar n anumite coloane, atunci lista acestor coloane trebuie
specificat, n plus n restul coloanelor se ncarc valoarea implicit (null sau valoarea
definit prin clauza default). De remarcat c valorile de tip caracter sau de tip dat
calendaristic trebuie incluse ntre apostrofuri.
Daca Insert nu respect constrngerile de integritate sau de validare sau furnizeaz o
valoare incompatibil pentru o coloan, atunci ntreaga operaie eueaz i se afieaz
un mesaj de eroare.
Exemple
insert into tBonuriConsum (NrBon,DataBon,CodGest,CodConsumator)
values (101,'03/10/08','g1','c2')
insert into tBonuriConsum (NrBon,CodGest,CodConsumator,DataBon)
values (102,'g2','c1','03/12/08')
insert into tBonuriConsum
values (103,'03/15/08','g1','c1')
insert into tBonuriConsum
(NrBon,CodGest,CodConsumator)
values (104,'g2','c1')
Comanda SELECT
Comanda SELECT este principalul instrument pentru regsirea datelor dintr-o
baz de date relaional. SELECT este destul de complex, dar principalele clauze se
pot sintetiza astfel:
SELECT [ALL | DISTINCT] [TOP n [Percent] [WITH TIES]]
{ * | lista_de_coloane_rezultat}
[INTO tabel_nou]
FROM lista_de_tabele
[WHERE conditie]
[GROUP BY lista_de_expresii_de_grupare
[HAVING conditie]
]
[ORDER BY {expresie_de_ordonare [ ASC | DESC][,]}]
codCl AS CodClient
codF AS 'Cod furnizor'
Sintax
Semnificaie
Numrul de elemente ale unui grup,
cuprinznd toate duplicatele i
rndurile cu valori NULL
numrul de elemente ale unui grup include toate duplicatele, dar fr
valorile NULL;
numrul de elemente ale unui grup fr duplicate i fr valori NULL.
Count(*)
COUNT([ALL] expresie)
COUNT( DISTINCT expresie] )
MAX( expresie)
MIN (expresie)
VAR(expresie_numeric)
reprezint
media valorilor.
returneaz dispersia calculat pentru
valorile expresiei dat ca argument.
VARP(expresie_numeric)
1
2
(x x) ,
n
reprezint
media
valorilor.
returneaz deviaia standard estimat
pentru valorile expresiei dat ca
STDEV(expresie_numeric)
argument.
1
(x x)2 ,
n 1
STDEVP(expresie_numeric)
1
(x x) 2 ,
n
reprezint media
valorilor.
unde:
ALL - indic faptul c agregarea se aplic tuturor valorilor. ALL este opiunea
implicit.
DISTINCT - specific faptul c agregarea se aplic doar asupra unei singure instane a
fiecrei valori din grup, duplicatele fiind ignorate.
expresie - este o expresie de orice tip. Expresia nu poate conine funcii de agregare
sau fraze SELECT imbricate.