.


:




:

































 

 

 

 


select, select (, , , )




(. 8.1.1 ).

SELECT DML SQL, () , .

SELECT : ( ) ( , , ..).

SELECT :

SELECT

[DISTINCT | DISTINCTROW | ALL]

select_expression,...

[FROM table_references]

[WHERE where_definition]

[GROUP BY {unsigned_integer | col_name | formula}]

[HAVING where_definition]

[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC],...]

: , , , . , , .

:

SELECT FROM WHERE

, SELECT:

- WHERE , GROUP BY.

- GROUP BY .

- HAVING , GROUP BY .

- ORDER BY , .

( ) , . :

SELECT *

FROM

WHER = ''

AND > 200;

( ) ( ) . :

SELECT DISTINCT , ,

FROM ;

, , , . :

SELECT , ,

FROM

WHER = ''

UNION SELECT , ,

FROM

WHER = '';

, , . :

SELECT

FROM

WHERE IN (SELECT FROM );

, , . :

SELECT

FROM

WHERE NOT IN (SELECT FROM );

. _ :

SELECT _.*, .*

FROM _, ;

(, , )

(. 8.1.2 ).

(, , , )

(. 8.1.3 ).

CREATE TABLE, CREATE INDEX, CREATE PROCEDURE, CREATE USER, CREATE GROUP, CREATE VIEW, ADD USER, DROP USER, DROP GROUP, ALTER TABLE, ALTER USER, ALTER DATABASE, DROP, GRANT, REVOKE CONSTRAINT.


SQL-92,

() , . (, ), - . , , . , .

SQL , SQL. , , , . .

. . SQL, , . , .

SQL :

- ;

- , .. , ;

- ;

- , ;

- , .. , .

. , , . . . . : ..

. : SELECT, UPDATE, INSERT, DELETE. , , , SQL.

PL/SQL : . , .

, . , , . , .

PL/SQL, .

:

- DECLARE .

- OPEN , .

- FETCH .

- CLOSE .

1. %ISOPEN TRUE, .

2. %FOUND , , .

3. %NOTFOUND TRUE, .

4. %ROWCOUNT .

.

DECLARE CustCursor CURSOR

FOR

SELECT * FROM Customers

WHERE cust_email IS NULL;

( Oracle) :

DECLARE TYPE CustCursor IS REF CURSOR RETURN Customers %ROWTYPE;

DECLARE CustRecord Customers%ROWTYPE BEGIN

OPEN CustCursor;

LOOP

FETCH CustCursor INTO CustRecord;

EXIT WHEN CustCursor%NOTFOUND;

END LOOP; CLOSE CustCursor; END;

, SQL-, . , , , . ( DDL, DML). , , .

, .

, . .

, , , DDL- ( !) , . - , , , , .

( ). .

, , . , (wrapping) .

, .

SQL-, , .

:

<_>::=

{CREATE | ALTER } [PROCEDURE] _

[;]

[{@_ _ } [VARYING ]

[=default][OUTPUT] ][,...n]

[WITH { RECOMPILE | ENCRYPTION | RECOMPILE,

ENCRYPTION }]

[FOR REPLICATION]

AS

sql_ [...n]

sp_, #, ##, . , , , , . , , CREATE PROCEDURE . , . . . , , .

, . , , .

, , , @. , . , .

, , SQL, . CURSOR , .. OUTPUT.

OUTPUT , . , . OUTPUT , . , OUTPUT . , .

VARYING OUTPUT, CURSOR. , .

DEFAULT , . , .

, . . RECOMPILE .

FOR REPLICATION .

ENCRYPTION , , .

AS , .. SQL, . SQL, , . RETURN.

:

DROP PROCEDURE {_} [,...n]

:

[[ EXEC [ UTE] _ [;]

[[@_=]{ | @_}

[OUTPUT ]|[DEFAULT ]][,...n]

, EXECUTE . , .

OUTPUT , OUTPUT.

DEFAULT, . , DEFAULT , .

EXECUTE , . , . , . , , . , .

, , . .

: , .

CREATE PROC my_proc3

@k VARCHAR(20)

AS

SELECT .,

.*.

AS , .

FROM INNER JOIN

( INNER JOIN

ON .=.)

ON .=.

WHERE .=@k

:

EXEC my_proc3 '' my_proc3 @k=''

(. trigger) , , () INSERT DELETE , UPDATE . -. , . , , . , .

:

1. INSERT TRIGGER INSERT.

2. UPDATE TRIGGER UPDATE.

3. DELETE TRIGGER DELETE.

BEFORE ( ; , ) AFTER ( ). , , (, , ). , (, , , . .).

, , (VIEW). . BEFORE AFTER , (, ) .

CREATE TRIGGER :

<_>::=

CREATE TRIGGER _

BEFORE | AFTER <_>

ON <_>

[REFERENCING

<____>]

[FOR EACH { ROW | STATEMENT}]

[WHEN(_)]

<_>

DROP TRIGGER {_} [,...n]

(FOR EACH ROW), , (FOR EACH STATEMENT).

<____> , (OLD / NEW), (OLD TABLE / NEW TABLE). , , .

, : inserted deleted. , . inserted deleted , . inserted deleted, . , , inserted deleted :

1. INSERT inserted , ; deleted ; inserted ;

2. DELETE deleted , ; , ; inserted ;

3. UPDATE deleted , . inserted. .

, , @@ROWCOUNT; , . , , . , .

, 100 , , , . , .

, . , , , ROLLBACK TRANSACTION.

: , ( =3). "+", , "-", . .

CREATE TRIGGER _ins

ON FOR INSERT

AS

IF @@ROWCOUNT=1

BEGIN

IF NOT EXISTS(SELECT *

FROM inserted

WHERE -inserted.<=ALL(SELECT

.

FROM ,

WHERE .=

.))

BEGIN

ROLLBACK TRAN

PRINT

' : '

END

END


14 ACID ,

ACID (Atomicity, Consistency, Isolation, Durability (, , , )), .

Atomicity ():

, . , . , (rollback): , .

Consistency ():

ACID. , . (integrity). , , : (domain integrity), (referential integrity), (entity integrity), .

. , , , , . - , . - , , .

, , . , , , . , , . , , . .

Isolation ():

. , , , , , .

Durability ():

( , ) , , . , , , , - - .

, .

, , , , .

. , . , . . , ACID. .

:

1. , ;

2. , , .

, . , , . , . , , .

:

- , ;

- ;

- ;

- .

, . , INSERT, UPDATE DELETE. , ( CREATE TABLE) : . DROP TABLE .

, , . , , , .

, :

- COMMIT ;

- ROLLBACK ;

- SAVEPOINT .

, , . , , .

COMMIT , . , COMMIT ROLLBACK.

ROLLBACK , . , COMMIT ROLLBACK.

SAVEPOINT ( ) , ( ). :

SAVEPOINT __

, . .

, , ROLLBACK :

ROLLBACK TO __

SAVEPOINT , .





:


: 2016-07-29; !; : 2559 |


:

:

, .
==> ...

1574 - | 1348 -


© 2015-2024 lektsii.org - -

: 0.135 .