Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
projet_nf17_p19_tdg1_groupe2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Gaetan Carabetta
projet_nf17_p19_tdg1_groupe2
Commits
c5990dfe
Commit
c5990dfe
authored
May 31, 2019
by
Gaetan Carabetta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update SQL_OO.sql
parent
878b1c3a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
36 deletions
+31
-36
SQL_OO.sql
SQL_OO.sql
+31
-36
No files found.
SQL_OO.sql
View file @
c5990dfe
...
...
@@ -80,32 +80,44 @@ CREATE OR REPLACE TYPE ListeRefEspece AS TABLE OF RefEspece;
CREATE
OR
REPLACE
TYPE
Medicament
AS
OBJECT
(
nomMolec
VARCHAR
(
20
),
descriptions
VARCHAR
(
100
),
especes
ListeRefEspece
--MEMBER FUNCTION espece_autoriser(espece IN|OUT VARCHAR(20)
) RETURN BOOLEAN
medEspeces
ListeRefEspece
,
MEMBER
FUNCTION
espece_autoriser
(
species
IN
VARCHAR
)
RETURN
BOOLEAN
);
/
/*
CREATE TYPE BODY Medicament
IS
MEMBER FUNCTION espece_autoriser(espece IN|OUT VARCHAR(20)) RETURN BOOLEAN
IS
BEGIN
r := SELECT COUT(*) FROM Medicament m
RETURN duree(SELF.debut,SELF.fin);
END;
END;
/
*/
CREATE
TABLE
tMedicament
OF
Medicament
(
PRIMARY
KEY
(
nomMolec
),
descriptions
NOT
NULL
)
NESTED
TABLE
e
speces
STORE
AS
ntRefEspeces
;
)
NESTED
TABLE
medE
speces
STORE
AS
ntRefEspeces
;
/
/*
CREATE OR REPLACE TYPE BODY Medicament
IS
MEMBER FUNCTION espece_autoriser(species VARCHAR) RETURN BOOLEAN
IS
resultat BOOLEAN;
espe Espece;
found VARCHAR(20);
BEGIN
SELECT REF(te) INTO espe
FROM tEspece te
WHERE te.espece = species;
SELECT med.nommolec INTO found
FROM tMedicament med
WHERE med.medespeces = espe;
IF found THEN
resultat := True;
ELSE
resultat := False;
END IF;
RETURN resultat;
END;
END;
/
*/
CREATE
OR
REPLACE
TYPE
Posologie
AS
OBJECT
(
nomMolec
REF
Medicament
,
...
...
@@ -180,21 +192,4 @@ CREATE TABLE Client (
l_animal
ListeRefAnimal
)
NESTED
TABLE
l_animal
STORE
AS
ntAnimaux
;
/
CREATE
TYPE
BODY
esp
IS
MEMBER
FUNCTION
espece_autoriser
(
espece
IN
STRING
)
RETURN
BOOL
IS
res
BOOL
;
esp
e
is
SELECT
especes
.
espece
FROM
Medicament
WHERE
especes
.
espece
=
espece
;
IF
esp
THEN
res
:
=
True
;
ELSE
res
:
=
False
;
END
IF
;
RETURN
res
;
END
;
END
;
/
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment