Ερώτηση σχετική με Precedures.

Γενικές συζητήσεις για SQL και SQL Servers (RDBMS)

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
papai7
Δημοσιεύσεις: 1
Εγγραφή: 07 Μαρ 2011 05:14

Ερώτηση σχετική με Precedures.

Δημοσίευση από papai7 » 07 Μαρ 2011 05:33

Ζητείται Stored procedure το οποίο δέχεται σαν είσοδο το όνομα μιας εφημερίδας και διορθώνει τις ημερομηνίες έκδοσης των φύλλων της, έτσι ώστε να έχουν διαφορά χρονική ακριβώς όση ορίζεται από τη συχνότητα έκδοσης. (πχ στην εβδομαδιαία έκδοση, το κάθε φύλλο πρέπει να έχει διαφορά 7 ημερών από το προηγούμενο).

Μέχρι στιγμής έχω γράψει τις ακόλουθες γραμμές κώδικα, αλλά αδυνατώ να προχωρήσω:

DELIMITER $
DROP PROCEDURE IF EXISTS P4$
CREATE PROCEDURE P4 (IN efimerida VARCHAR(256))
BEGIN
DECLARE iss_rel_date DATE;
DECLARE kykloforia_fyllou CURSOR FOR SELECT iss_rel_date FROM issue inner join paper ON issue.iss_pa_name = paper.pa_name WHERE pa_name= efimerida;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET not_found_message=1;
OPEN kykloforia_fyllou
REPEAT
FETCH kykloforia_fyllou INTO iss_rel_date
IF (not_found_message=0) THEN SELECT iss_rel_date;

Mέχρι στιγμής έχω χρησιμοποιήσει 2 από τους πίνακες της βάσης μου, της εφημερίδας (paper) και του φύλλου (issue). Οι αντίστοιχοι create κώδικες είναι οι εξής:

CREATE TABLE paper(
pa_name VARCHAR(30) NOT NULL,
pa_owner VARCHAR(60) NOT NULL,
pa_descr TEXT,
pa_genre ENUM('POLITICAL','FINANCIAL','SPORT','SOCIAL','MISC') DEFAULT 'MISC' NOT NULL,
pa_freq ENUM('DAILY','WEEKLY','MONTHLY','ANNUALLY') DEFAULT 'DAILY' NOT NULL,
PRIMARY KEY(pa_name)
)Engine=InnoDB;

CREATE TABLE issue(
iss_pa_name VARCHAR(30) NOT NULL,
iss_number INT NOT NULL,
iss_released DATE NOT NULL,
iss_title VARCHAR(256) NOT NULL,
PRIMARY KEY(iss_pa_name,iss_number),
FOREIGN KEY (iss_pa_name) REFERENCES paper(pa_name)
ON DELETE CASCADE ON UPDATE CASCADE
)Engine=InnoDB;

Παρακαλώ, όποιος μπορεί ας με βοηθήσει γιατί είμαι αρχάρια όσον αφορά αυτό το κομμάτι. Οποιαδήποτε άλλη πληροφορία που έχω ξεχάσει να αναφέρω, θα σας είναι διαθέσιμη. Ευχαριστώ εκ των προτέρων.

Απάντηση

Επιστροφή στο “Βάσεις Δεδομένων και SQL - γενικά”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες