Merge remote-tracking branch 'refs/remotes/origin/master'
This commit is contained in:
commit
30707747dc
@ -7,9 +7,9 @@ build: \
|
|||||||
$(DIR_BUILD)/00_drop.sql \
|
$(DIR_BUILD)/00_drop.sql \
|
||||||
$(DIR_BUILD)/01_create.sql \
|
$(DIR_BUILD)/01_create.sql \
|
||||||
$(DIR_BUILD)/02_insert.sql \
|
$(DIR_BUILD)/02_insert.sql \
|
||||||
|
$(DIR_BUILD)/04_update.sql \
|
||||||
$(DIR_BUILD)/05_functions.sql
|
$(DIR_BUILD)/05_functions.sql
|
||||||
# $(DIR_BUILD)/03_select.sql \
|
# $(DIR_BUILD)/03_select.sql \
|
||||||
# $(DIR_BUILD)/04_update.sql
|
|
||||||
|
|
||||||
generate_data:
|
generate_data:
|
||||||
python3 generate_data.py
|
python3 generate_data.py
|
||||||
|
@ -384,3 +384,66 @@ CREATE OR REPLACE VIEW nb_modele_par_membre AS
|
|||||||
WHERE membres.id_membre IS NOT NULL
|
WHERE membres.id_membre IS NOT NULL
|
||||||
GROUP BY membres.id_membre
|
GROUP BY membres.id_membre
|
||||||
);
|
);
|
||||||
|
|
||||||
|
-- ============================================================================
|
||||||
|
-- Triggers.
|
||||||
|
-- ============================================================================
|
||||||
|
|
||||||
|
-- A noter should be between 0 and 5.
|
||||||
|
CREATE OR REPLACE FUNCTION note_veryfier()
|
||||||
|
RETURNS TRIGGER AS $$
|
||||||
|
BEGIN
|
||||||
|
IF NEW.note_noter < 0 OR NEW.note_noter > 5 THEN
|
||||||
|
RAISE EXCEPTION 'You should give a note between 0 and 5';
|
||||||
|
END IF;
|
||||||
|
RETURN NEW;
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql;
|
||||||
|
|
||||||
|
CREATE TRIGGER note_veryfier
|
||||||
|
BEFORE INSERT OR UPDATE ON noter
|
||||||
|
FOR EACH ROW
|
||||||
|
EXECUTE FUNCTION note_veryfier();
|
||||||
|
|
||||||
|
-- To delete all the messages from a message thread.
|
||||||
|
CREATE OR REPLACE FUNCTION delete_messages_after_thread()
|
||||||
|
RETURNS TRIGGER AS $$
|
||||||
|
BEGIN
|
||||||
|
DELETE FROM messages WHERE id_fil = OLD.id_fil;
|
||||||
|
RETURN OLD;
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql;
|
||||||
|
|
||||||
|
CREATE TRIGGER delete_messages_after_thread
|
||||||
|
AFTER DELETE ON fils
|
||||||
|
FOR EACH ROW
|
||||||
|
EXECUTE FUNCTION delete_messages_after_thread();
|
||||||
|
|
||||||
|
-- To remove a piece and all its dependencies.
|
||||||
|
CREATE OR REPLACE FUNCTION delete_cascade_piece()
|
||||||
|
RETURNS TRIGGER AS $$
|
||||||
|
BEGIN
|
||||||
|
-- If this is a complex piece.
|
||||||
|
DELETE FROM etre_complexe WHERE id_piece = OLD.id_piece;
|
||||||
|
|
||||||
|
DELETE FROM colorer WHERE id_piece = OLD.id_piece;
|
||||||
|
DELETE FROM avoir_motif WHERE id_piece = OLD.id_piece;
|
||||||
|
DELETE FROM etre_forme WHERE id_piece = OLD.id_piece;
|
||||||
|
DELETE FROM necessiter WHERE id_piece = OLD.id_piece;
|
||||||
|
DELETE FROM acheter WHERE id_piece = OLD.id_piece;
|
||||||
|
DELETE FROM perdre WHERE id_piece = OLD.id_piece;
|
||||||
|
DELETE FROM contenir WHERE id_piece = OLD.id_piece;
|
||||||
|
DELETE FROM etre WHERE id_piece = OLD.id_piece;
|
||||||
|
DELETE FROM pieces WHERE id_piece = OLD.id_piece;
|
||||||
|
|
||||||
|
return OLD;
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql;
|
||||||
|
|
||||||
|
CREATE TRIGGER delete_cascade_piece
|
||||||
|
AFTER DELETE ON pieces
|
||||||
|
FOR EACH ROW
|
||||||
|
EXECUTE FUNCTION delete_cascade_piece();
|
||||||
|
|
||||||
|
-- ============================================================================
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user