Title, Topic

Programmieren: PL, SQL und MFC .doc

®
Page 1 of 5
[1] [2] [3] [4] [5]
Faculty
Information Science
Discipline
Information Technology / Computer Science
Document category
Notes
University, School
HTL Villach
Additional information
1997
Responsible User
This text has been add by user odom273 on 2008-10-03. Disclaimer
Popularity
1.154  visits
Document length
~3.883  Words
~26.137  Chars
Rating
Networking




















More documents
Information Technology / Computer Science

System und Einsatzplanung, Windows im Netz
Windows im Netz Wiederholung Intel Prozessoren 8086/88 80286 80386/SX 386/486 Pentium Pentium 2 Datenformat 16 16 32 32 64 64 Datenbusbreite 16/8 16 16


Adat Datenmodellierung Grundlagen
Datenmodellierung ´1. Eine Miniwelt ist abzugrenzen, welche in der Datenbank abgebildet werden soll !) Miniwelt nicht zu weit fassen -small but succsesfull- !) Klare Kriterien festlegen *) Real


Adat ERD, SQL, Normalisierung
Semantisches Modellieren Ich modelliere die Semantik der Miniwelt in einer anderen Sprache nach. -Übertragen von Information von der Miniwelt in ein ER Diagram Semantisches Modellieren soll Hardwar


System und Einsatzplanung, TCP IP Protokoll
TCP/IP Allgemeines Protokolle sind die Regeln für den Nachrichtenaustaus­ch. Aufgaben eines Protokolls: · die Adressierung der Partner · die Fehlererkennung · die Fehlerbehebung · die Datenflußk

PL/SQL

SQL..structured query language

4 GL – Sprache für relationale Datenbanken

DELETE FROM Mitarbeiter WHERE abt_nr=30;

Löscht alle Mitarbeiter der Abteilung 30 wie Server das macht bleibt verborgen

PL/SQL..procedural language

3 GL Sprache mit sequentiell ablaufenden Algorithmen

Aufbau eines PL/SQL Blocks

DECLARE..declarative section

Variable, Typen, Cursor, lokale Unterprogramme

BEGIN..executable section

PL-Anweisungen, SQL Statements

EXCEPTION..exception handling section

END;

Anonyme Blöcke

Benannte Blöcke dynamisch erzeugt, nur 1 mal ausgeführt

Unterprogramme procedure, function, package

Werden in der DB gespeichert.

Trigger.. benannte Blöcke, die gespeichert werden.


Bsp. Mitarbeiter Abteilung

Abteilung 30 löschen, aber Mitarbeiter sollen bleiben und auf 0 gesetzt werden.

DECLARE

Abt_nr_v abteilung.abt_nr%TYPE:=30; //Datentyp wird übernommen

Anz_rec_v NUMBER(5);

a EXCEPTION;

BEGIN

SELECT COUNT(*) INTO anz_rec_v FROM mitarbeiter

WHERE abt_nr=abt_nr_v;

IF anz_rec_v > 0 THEN

UPDATE mitarbeiter SET abt.nr = NULL

WHERE abt_nr=abt_nr_v;

END-IF;

DELETE FROM abteilung WHERE abt_nr=abt_nr_v;

IF SQLERR !=0 THEN

RAISE a

END-IF;

COMMIT;

EXCEPTION

WHEN a THEN

INSERT INTO LOG_TABEL..

END;

This paragraph has been concealed!
Download the complete document for free!
Programmieren: PL, SQL und MFC.doc
• Click on download to get complete and readable text
• This is a free of charge document sharing network
• First upload your own document, and you get a word document per email
• No registration necessary, gratis
Swap homeworks and notes at no charge!
Gratis scripts for students and pupils!

Daten Deklaration

SYNTAX:

Name type[CONSTANT][NOT NULL][:=value];

PL/SQL-Datentypen


Scalare DT

Numerisch

Character

Raw

Date

Vowid

Boolean

Zusammengesetzte DT

Record

Table

Numerisch

NUMBER(p,s)..wie DB-Typ

P..precission, Anzahl der Ziffer, max 38

S..scale, Nachkommastellen

Für integer und float

BINARY-INTEGER..4Byte

Für schnelle Berechnungen im Programm

(Schleifenzähler)

Character

VARCHAR2(L)..char-String variabler Länge

CHAR(L)..char-String fixer Länge, blank padded

LONG..wie VARCHAR2

Raw

RAW(L)..wie char, jedoch für binäre Daten, keine Konvertierung zw. Char-Sets

LONGRAW(L)..wie Long aber für Binäre Daten

Gegenüberstellung PL/SQL Datentypen und Database DT

 

PL/SQL

MAXLENGTH

Database

MAXLENGTH

CHAR

32767

255

VARCHAR2

32767

2000

LONG

32767

2.147.483.647

RAW

32767

255

LONGRAW

32767

2.147.483.647

date

DATE..Datum/Zeit 7Byte

Century/year/month/day/hour/minute/second

Funktionen: TO_DATE

TO_CHAR

Rowid

ROWID (DB) Pseudocolumn ROWID)

BBBBBBBB.RRRR.FFFF eindeutige Nr innerhalb der DB

DB Block File NR

Reihe im block

0000001E.00FF.0001

30 Block, 255 Reihe, in File 1

Boolean

BOOLEAN..kann Werte TRUE,FALSE,NULL annehmen

Verwendung von %TYPE

var_name table.column%TYPE[:=value]

abt_nr_v abteilung.abt_nr%TYPE:=30

nimmt Datentyp von abt_nr aus Tabelle abteilung an.

Konvertierungen:

Explizit: TO_CHAR

TO_DATE

TO_NUMBER

RAWTOHEX

HEXTORAW

CHARTOROWID

This paragraph has been concealed!
Download the complete document for free!
Programmieren: PL, SQL und MFC.doc
• Click on download to get complete and readable text
• This is a free of charge document sharing network
• First upload your own document, and you get a word document per email
• No registration necessary, gratis
Swap homeworks and notes at no charge!
Gratis scripts for students and pupils!

Implizit character u. number

character u date

Ausdrücke und Operatoren

Zuweisung:

var_name:=expression;

Operatoren:

**,Not Exponent,Negation

+,- unär

*,/

+,-,|| string concatenation

=, !=, <,>,<=,>=

IS NULL, LIKE

BETWEEN, IN

AND

OR

Kontroll-Strukturen

IF-THEN-ELSE

IF condition THEN

Statements;

[ELSIF condition THEN

statements;]

[ELSE

statements;]

END IF;

LOOP’s

LOOP

Statements

[EXIT [WHEN condition];]

END LOOP

WHILE condition LOOP

Statements;

END LOOP;

FOR loop_counter IN [REVERSE] low_bound..high_bound LOOP

Statement

END LOOP

FOR Z IN 1..10 LOOP


Implizit deklariert

Kommentar

-- Kommentarzeile

Records

TYPE record_type IS Record (

Field1 type 1 [NOT NULL][:=value],

Field2 type 2 [NOT NULL][:=value],

..

Fieldn type n[NOT NULL][:=value]);

Recorddeklaration:

Record_name record_type;

Zugriff:

Recordname.field_name;

%ROWTYPE

recordname tablename%ROWTYPE;

Struktur der Tabelle wird übernommen

Verwendung von SQL in PL/SQL

SELECT select_list INTO PL/SQL.data FROM ..

DECLARE

Mitarbeiter_rec mitarbeiter%ROWTYPE;

BEGIN

SELECT * INTO mitarbeiter_rec FROM mitarbeiter

WHERE m_nr=1;

SELECT v_name,n_name INTO mitarbeiter_rec.v_name ..........

END;

Aufgabe:

 

 

Patient Warteliste

This paragraph has been concealed!
Download the complete document for free!
Programmieren: PL, SQL und MFC.doc
• Click on download to get complete and readable text
• This is a free of charge document sharing network
• First upload your own document, and you get a word document per email
• No registration necessary, gratis
Swap homeworks and notes at no charge!
Gratis scripts for students and pupils!

Aufnahme Station


Station

zuordnung

Patient(P_NR,Name)

Warteliste(P_NR,E_datum,E_grund)

Aufnahme(Nr, P_NR,E_datum,E_grund,st_bez)

Station(st_bez,betten_anz)

Stationszuordnung(st_bez,e_grund)

SQL innerhalb von PL/SQL Blöcken

SQL-Statements:

DML: Select, Insert, Update, Delete

DDL: Create, Drop, Alter, Grant, Revoke

DCL: Transaction Control TC: Commit, Rollback, Savepoint

Session Control: Alter Session, Set Role ..

System Control: Alter System, ..

Embedded SQL: OCI Oracle Call Interface

In PL/SQL sind nur DML und TC Statements erlaubt.

Grund: Early binding von Objketen zur Compile Zeit

Identifizierung des Speicherplatzes

Überprüfung der Zugriffsrechte

BEGIN

Create Table my_tab(..)

END;

Create Table ist nicht erlaubt in PL/SQL da sich die Zugriffsrecht ändern können und ein Create nicht mehr erlaubt sein kann.

DML und TC sind die einzigen die die Zugriffsrechte auf Datenbankobjekte nicht veränden.

DML – Statements

..

WHERE – Klausel

<<Blockname>> -- wenn erwünscht

DECLARE

department CHAR(3);

BEGIN

v_department:=‛cs‛;

DELETE FROM dept WHERE department = bockname.department;

END;

Character - Vergleich

Arten:1 blank padded

‚abc‛=‛abc‛

‚abc ‚=‛abc‛ -- bei non blank padded nicht so

Blank padded wird verendet wenn beide Operanden fixed lenght sind: CHAR

Non blank padded: Wenn einer oder beide variable length sind: VARCHAR2

‚Literal‛..fixed length.

This paragraph has been concealed!
Download the complete document for free!
Programmieren: PL, SQL und MFC.doc
• Click on download to get complete and readable text
• This is a free of charge document sharing network
• First upload your own document, and you get a word document per email
• No registration necessary, gratis
Swap homeworks and notes at no charge!
Gratis scripts for students and pupils!

Department .. VARCHAR2(3)

DECLARE

V_dept CHAR(3)

BEGIN

DELETE FROM dept WHERE department=v_Dept;

END;

Bei unterschiedlichem Datentyp wird nichts gelöscht.

Transaction Control

Zusammenfassung von SQL Statements die entweder alle Vollständig oder gar nicht ausgeführt werden.

TA beginnt mit dem 1. Statement nach einem COMMIT (od. Rollback) oder nach CONNECT TO DB.

COMMIT..Änderungen in Tabellen fixieren.

LOCKS aufheben.

ROLLBACK..Alle Änderungen bis zum letzten COMMIT rückgängig machen.

SAVEPOINT name..

ROLLBACK TO SAVEPOINT name

Autocommit – option: COMMIT nach jedem SQL – Statement.

Transaktion u. PL/SQL – Block

Block ist kein TA – Beginn

INSERT INTO tab Values (..)

BEGIN

DELETE FROM tab..

ROLLBACK; macht auch INSERT rückgängig

END;

CURSOR

Select ..INTO..

Wenn Abfrage nur 1 Reihe als Ergebnis liefert

Cursortechnik, wenn Abfrage mehrere Reihen liefert

Bei Abarbeitung eines SQL Statements wird von der Datenbank Speicherplatz allokiert (Context Area) Sie enthält geparstes(überprüftes) SQL Statement. Und nach Ausführung der Abfrage (OPEN) die Ergebnisse.

Cursor ist ein Zeiger auf Ergebnisreihen (nach open auf 1.Reihe)

 

 

 

 

Expliziter Cursor:


Page 1 of 5
[1] [2] [3] [4] [5]


swopdoc.com ist not responsible for the content of this text provided by third parties

Legal info - Copyright - Terms - Partner - Statistik - Contact
antiblock.org adblockdetector.com

Swap your documents