Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Comenzi SQL Ce sunt comenzile SQL?

sql


Comenzi SQL

Ce sunt comenzile SQL?

Comenzile SQL sunt instructiuni necesare pentru a comunica cu sistemul Oracle. Ele dau directive serverului Oracle sa efectueze anumite sarcini. Comenzile SQL se împart în sase categorii, dupa cum urmeaza:

Comenzi DDL (Data Definition Language - limbaj de definire a datelor)



Comenzile DDL sunt folosite pentru a gestiona obiectele schemei si privilegiile utilizatorilor.

Comenzi DML (Data Manipulation Language - limbaj de manipulare a datelor)

Comenzile DML permit utilizatorului sa acceseze si sa manipuleze obiectele bazei de date.

Comenzi pentru controlul tranzactiilor

Aceste comenzi gestioneaza modificarile efectuate de comenzile DML.

Comenzi pentru controlul sesiunii

Comenzile pentru controlul sesiunii gestioneaza sesiunile utilizatorilor.

Comenzi pentru controlul sistemului

Aceste comenzi gestioneaza proprietatile instantei.

Comenzi SQL încapsulate

Aceste comenzi se folosesc pentru a plasa în proceduri comenzi DDL, DML si comenzi pentru controlul tranzactiilor.

De ce se folosesc comenzile SQL?

Comenzile SQL formeaza un sistem predefinit si coerent de gestionare si de administrare a bazei de date Oracle. Aceste comenzi au o sintaxa si o semantica specifica si permit utilizatorului sa comunice cu serverul, în lipsa acestor instructiuni formale, ar domni haosul deoarece serverul nu ar putea sa recunosca si sa înteleaga comenzile dumneavoastra.

Cum se folosesc comenzile SQL

Comenzile SQL se împart în sase categorii. Paragrafele urmatoare trateaza fiecare dintre aceste sase tipuri de comenzi SQL:

Comenzi DDL (Data Definition Language - limbaj de definire a datelor)

Comenzi DML (Data Manipulation Language - limbaj de manipulare a datelor)

Comenzi pentru controlul tranzactiilor Comenzi pentru controlul sesiunii Comenzi pent 20120e410u ru controlul sistemului

Comenzi SQL încapsulate

Comenzi DDL (Data Definition Language - limbaj de definire a datelor)

Comenzile DDL va permit sa efectuati urmatoarele:

Sa creati, sa modificati si sa distrugeti orice obiecte ale schemei

Sa acordati si sa retrageti privilegii si roluri utilizatorilor

Sa adaugati comentarii în dictionarul de date

Sa stabiliti optiuni de auditare

Oracle salveaza în mod implicit tranzactia curenta înaintea fiecarei instructiuni DDL. Comenzile DDL nu sunt suportate de modulul PL/SQL al serverului Oracle, în continuare urmeaza o scurta descriere a celor mai utilizate instructiuni DDL.

Majoritatea comenzilor DDL încep cu create, alter sau drop. Comenzile create se folosesc pentru a crea noi obiecte si structuri Oracle. Comenzile alter va permit sa modificati obiectele si structurile existente. Comenzile drop elimina din baza de date obiecte si structuri.

Comenzi DDL create

create cluster

Aceasta comanda creeaza un grup ce poate contine unul sau mai multe tabele, care au cel putin o coloana în comun. Exemplul urmator creeaza grupul lst_articole, coloana cheie a grupului fiind

nr_articol:

create cluster lst_articole

(nr_articol varchar2(15))

size" 512

storage (

initial 500k

next lOOk

pctincrease 5);

create database

Aceasta comanda creeaza o baza de date Oracle. Exemplul urmator ^creeaza o baza de date simpla numita produse, în timpul crearii, sunt utilizati parametrii prestabiliti pentru alocarea memoriei si pentru definirea fisierului jurnal.

CREATE DATABASE produse;

create database link

Aceasta comanda creeaza o legatura cu o baza de date situata la distanta. Acest exemplu creeaza o legatura numita ang_leg care face referire la baza de date userl cu parola 1A2BVC cu localizarea specificata de sirul

'D:lista_ang':

create database link ang^leg

connect to userl identifTed by Ia2bvc

using 'D:lista_ang';

Dupa crearea legaturii, puteti sa interogati tabelele bazei de date situata la distanta userl. Exemplul urmator prezinta o interogare a bazei de date situate la distanta userl:

select *

from ang@ang_leg;

create function

Aceasta comanda creeaza o functie care este pastrata în memorie. Exemplul urmator returneaza balanta contabila pentru toate liniile în care regiunea este egala cu Hamilton.

create function get_balance (acct_id in

number) return number

is

acc_balance number (11, 2)

begin

select balance

into acc_balance

from sales

where sales_account = acct_id

return (acc_balance);

end;

create index

Aceasta comanda creeaza un index pentru un tabel sau un grup. Acest exemplu creeaza indexul i nr articol pentru coloana nr articol a tabelului LISTA_ARTICOLE:

create index i_nr_articol ON

lista_articole (nr_articol) ;

create package

Aceasta comanda creeaza specificatia unui pachet stocat în memorie. Exemplul urmator creeaza specificatia pachetului l s t_a r t:

create package 1st_art as procedure inv_articole (numar_art varchar2) end 1st_art;

create package body

Aceasta comanda creeaza corpul unui pachet stocat în memorie. Comanda create package trebuie executata înaintea acestei comenzi.

create package body1_art AS
functia 1....
functia 2....
procedura 1....

create procedure

Aceasta comanda creeaza o procedura de sine statatoare stocata în memorie. In acest exemplu, este creata procedura statplata, ai carei parametri de intrare sunt ore, salariu_orar si marca_ang. Tabelul ang este actualizat direct prin intermediul acestei proceduri.

create prodedure user 01.statplata (ore in number, salarîu_orar in number, marca_ang in number) as begin

update lista_salarii set plata_sapt = ore * salariu_orar where marca_ang = nr_cont end;

Create
Rollback
Segment

Aceasta comanda creeaza un segment de revenire în vederea pastrarii datelor necesare derularii înapoi a modificarilor efectuate de o tranzactie. Segmentul va fi stocat în spatiul-tabel System si i se va aloca un spatiu initial de 100KB si în continuare 50KB.

create public rollback segment

rbs_lst_art

tablespace system

storage (initial lOOk next 50k optimal

125k);

create role

Aceasta comanda creeaza un rol. Un rol reprezinta un set de privilegii care pot fi acordate utilizatorilor sau altor roluri. Acest exemplu creeaza rolul numit proiectant_aplicatie care este protejat prin parola pr_aplic.

create role proiectant_aplicatie identified by pr_aplic;

create sequence

Aceasta comanda creeaza o secventa pentru generarea numerelor secventiale. Instructiunea urmatoare creeaza secventa s_marca_ang, care începe de la valoarea l si are un increment de 10:

create sequence s marca ang increment by 10;

create snapshot

Aceasta comanda creeaza un instantaneu al datelor din unul sau mai multe tabele de baza. în exemplul urmator, este creat instantaneul uk_ang, care va contine o copie a tabelului LISTA_ANG, care se gaseste în baza de date situata la distanta ang_uk:

create snapshot uk_ang

pctfree 15

pctused 40

tablespace user_01

storage (initial 50k

next 50k

pctincrease 20)

refresh fast next sysdate + 14

as select * from lista_ang@ang_uk;

create snapshot log

Aceasta comanda creeaza un jurnal de instantanee pentru reîmprospatari rapide. Acest jurnal este creat pentru reîmprospatarea instantaneelor bazate pe tabelul principal lst_art.

create snapshot log on 1st_art tablespace user_01 storage (initial 50k next 50k pctincrease 50);

create synonym

Aceasta comanda creeaza un sinonim pentru un obiect din schema. Exemplul urmator creeaza sinonimul public articol pentru tabelul PROPRIETAR_ARTICOL.LISTA_ARTICOLE:

create public synonym articol for proprietar_articol.lista_articole;

create table

Aceasta comanda creeaza un tabeL Tabelul LISTA_ARTICOLE este creat cu instructiunea urmatoare:

create table lista_articole (cod_articol number primary key, nr_bucati varchar2(15), descriere_articol varchar2(50)) tablespace articole_02;

create user

Aceasta comanda creeaza un nou utilizator al bazei de date sau un cont prin intermediul caruia va puteti conecta la baza de date. în acest exemplu, utilizatorul se numeste cbntabil_sef si initial are parola QK91H36. De asemenea instructiunea stabileste parametrii de stocare pentru acest utilizator.

create user contabil sef identified by qk91h3"S default tablespace user_01 temporary tablespace user_02 quota 5m on user_01 quota 5m on user_02 profile administrator;

create view

Aceasta comanda creeaza o vedere a unuia sau mai multor tabele. Instructiunea urmatoare creeaza vederea tuturor coloanelor tabelului LISTA_ARTICOLE, afisând numai acele linii pentru care cantitatea comandata este mai mare decât 10000. Vederea se numeste v_1st_art.

create view v_1st_art

as select * from lista articole

where cant comanda > 10000

Comenzi DDL alter

alter cluster

Folositi aceasta comanda pentru a modifica parametrii de alocare sau pentru a aloca o noua extindere pentru un grup. Nu puteti modifica numarul de coloane care reprezinta cheia grupului si spatiul-tabel al grupului sau sa eliminati tabele din grup. în instructiunea urmatoare, este modificat grupul c_ang_princ, noua valoare atribuita parametrului pctfree fiind de 60 de procente. Toti ceilalti parametrii specificati în instructiunea create cluster ramân nemodificati.

alter cluster c_ang_princ

pctfree 60;

alter function

Folositi aceasta comanda pentru a recompila functia. Instructiunea urmatoare recompileaza functia calcul_balanta:

alter function calcul_balanta compile;

alter index

Aceasta comanda va permite sa modificati alocarile viitoare de spatiu de stocare pentru index. De exemplu, instructiunea urmatoare stabileste dimensiunea incrementelor viitoarelor blocuri de date la 50KB:

alter index i_vanzari_articole storage (next 50k);

alter package

Aceasta comanda se foloseste pentru a recompila un pachet. De exemplu, specificatia si corpul pachetului pach_cautare_art este recbmpilata cu urmatoarea instructiune:

alter package pach_cautare_art compile package;

alter procedure

Aceasta comanda recompileaza o procedura de sine statatoare. Cuvântul cheie compile este obligatoriu. Aceasta comanda recompileaza procedura invalida numita 1st_articole.

Alter procedure 1st_articole compile;

alter role

Aceasta comanda modifica autorizatia necesara pentru a activa un rol. în acest exemplu, roiului proiectant_aplicatie i se atribuie noua parola proiectant.

alter role proiectant_aplicatie identified by proiectant;

alter rollback segment

Aceasta comanda modifica segmentul de revenire în unul dintre urmatoarele moduri:

Îl trece în stare on-line sau off-line

Îi modifica caracteristicile de stocare

În urmatoarele trei exemple, sunt folosite cele trei clauze posibile pentru aceasta comanda:

alter rollback segment rbs_1st_art

offline;

alter rollback segment rbs_1st_art

online;

alter rollback segment rbs_1st_art

storage

(maxextents 35);

alter sequence

Aceasta comanda va permite sa modificati caracteristicile unei secvente. Aceasta comanda va permite sa faceti urmatoarele:

Sa modificati valoarea incrementalul

Sa stabiliti sau sa eliminati valorile minima si maxima

Sa specificati daca numerele secventei trebuie sa fie ordonate

Sa schimbati numarul de numere din secventa pastrate în memoria cache

În exemplul urmator, secventa s marca_ang este modificata, noua dimensiune cache fiind acum 35. Toti ceilalti parametri ai secventei ramân cei specificati în comanda create sequence.

Alter sequence s_marca_ang cache 35;

alter snapshot

Puteti modifica parametrii de stocare sau modul de reîmprospatare cu comanda alter snapshot. De exemplu, exemplul urmator modifica modul de reîmprospatare a instantaneului uk_ang, atribuindu-i valoarea fast. Toti ceilalti parametrii ai instantaneului ramân neschimbati:

alter snapshot uk_ang refresh fast;

alter snapshot log

Aceasta comanda modifica parametrii de stocare ai jurnalului de instantanee. Acest exemplu redefineste parametrul de stocare maxextents al instantaneului snp 1st_art. Toti ceilalti parametri de stocare ramân neschimbati.

alter snapshot log ON snp_1st_art storage (maxextents 35);

alter table

Comanda alter table poate fi folosita pentru a face urmatoarele:

Pentru a adauga o coloana

Pentru a redefini tipul, dimensiunea sau valoarea prestabilita ale unei coloane

Pentru a adauga, modifica sau distruge o restrictie de integritate

Pentru a modifica parametrii de stocare

Comanda urmatoare adauga coloana comentarii vânzari tabelului VANZARI_ARTICOLE:

alter table vanzari_articole add (comentarii_vanzari varchar2(1000));

alter user

Folositi aceasta comanda pentru a modifica oricare dintre urmatoarele caracteristici ale utilizatorului bazei de date:

Parola

Spatiul-tabel prestabilit

Rolul prestabilit

Limitele resurselor alocate

Exemplul urmator restabileste parola utilizatorului

user_01:

alter user user_01 identified by HI8012JQ

alter view

Aceasta comanda recompileaza vederi, în general aceasta masura se ia atunci când tabelul de baza al vederii a fost modificat. Recompilarea nu modifica definitia vederii. Instructiunea urmatoare recompileaza vederea v_ang: alter view v_ang compile;

Comenzi DDL drop

Comenzile DDL drop elimina din baza de date obiecte, restrictii de integritate, utilizatori si roluri. Sintaxa generala a tuturor comenzilor drop este urmatoarea:

DROP cuvant_cheie nume_obiect/comanda

cuvant_cheie poate fi înlocuit cu oricare dintre articolele urmatoare:

Un grup

O legatura cu o baza de date

O functie

Un index

Un pachet

O procedura

Un profil

Un rol

Un segment de revenire

O secventa

Un instantaneu

Un jurnal de instantanee

Un sinonim

Un tabel

Un spatiu-tabel

Un declansator

Un utilizator

O vedere

Un privilegiu

Instructiunea urmatoare elimina din schema utilizatorului tabelul CODUkl_ARTICOLE_DEMODATE si toate datele acestuia:

drop table coduri_articole_demodate;

Comanda urmatoare distruge grupul articole, împreuna cu toate tabelele acestuia si toate restrictiile de integritate care fac referire la el:

drop cluster articole including tables cascade constraints;

Alte comenzi DDL

audit

Folositi aceasta comanda pentru a specifica instructiunile SQL care urmeaza sa fie auditate în urmatoarele sesiuni ale utilizatorilor. Instructiunea urmatoare activeaza auditarea oricarei instructiuni care interogheaza un tabel sau efectueaza eliminari din orice tabel:

audit select table, delete table;

Comment

Folositi aceasta comanda pentru a adauga comentarii direct in dictionarul de date. Instructiunea urmatoare adauga în dictionarul de date un comentariu referitor la coloana v comentarii a tabelului

ORDINE_VÂNZARI:

comment on ordine_vanzari.v_comentarii instructiune 'Acest câmp reprezinta evaluarile subiective ale agentului de vânzari referitoare la zona lui de activitate'

Grant

Folositi aceasta comanda pentru a acorda privilegii de sistem si roluri anumitor utilizatori si roluri. Instructiunea urmatoare acorda privilegiul create session utilizatorului user_02 al bazei de date:

grant create session to user_02;

Instructiunea urmatoare acorda privilegiul select referitor la tabelul LST_ARTICOLE utilizatorului

user_02

grant select on lst_articole to user_02;

Revoke

Aceasta comanda retrage privilegii de sistem si roluri anumitor utilizatori si roluri, în exemplul urmator, privilegiul de sistem'update este retras tuturor utilizatorilor tabelului LISTA_ANG:

REVOKE UPDATE ON lista_ang FROM PUBLIC;

Truncate

Aceasta comanda elimina toate liniile unui tabel sau unui grup si elibereaza spatiul ocupat de liniile respective. Instructiunea urmatoare elimina toate liniile tabelului DEPT:

truncate table dept;


Document Info


Accesari: 5829
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )