Documente Academic
Documente Profesional
Documente Cultură
IF seq_count = 0 THEN
EXECUTE IMMEDIATE 'CREATE SEQUENCE ' || UPPER(my_sequence) || ' START WITH
1 MINVALUE 1 MAXVALUE 1000000000000000 INCREMENT BY 1';
END IF;
END CREATE_SEQUENCE_IF_NEEDED;
/
BEGIN
CREATE_SEQUENCE_IF_NEEDED('cities_sequence');
CREATE_SEQUENCE_IF_NEEDED('addresses_sequence');
CREATE_SEQUENCE_IF_NEEDED('profile_sequence');
CREATE_SEQUENCE_IF_NEEDED('files_sequence');
CREATE_SEQUENCE_IF_NEEDED('roles_sequence');
CREATE_SEQUENCE_IF_NEEDED('users_sequence');
CREATE_SEQUENCE_IF_NEEDED('teams_sequence');
CREATE_SEQUENCE_IF_NEEDED('projects_sequence');
CREATE_SEQUENCE_IF_NEEDED('tasks_sequence');
END;
/
:NEW.CREATED_AT := CURRENT_DATE;
:NEW.UPDATED_AT := CURRENT_DATE;
dbms_output.put_line('The city ' || :NEW.NAME || ' has been inserted. The
created/updated at fields have been updated');
END;
/
:NEW.CREATED_AT := CURRENT_DATE;
:NEW.UPDATED_AT := CURRENT_DATE;
dbms_output.put_line('The project ' || :NEW.NAME || ' has been inserted. The
created/updated at fields have been updated');
END;
/
:NEW.CREATED_AT := CURRENT_DATE;
:NEW.UPDATED_AT := CURRENT_DATE;
dbms_output.put_line('The team ' || :NEW.NAME || ' has been inserted. The
created/updated at fields have been updated');
END;
/
:NEW.CREATED_AT := CURRENT_DATE;
:NEW.UPDATED_AT := CURRENT_DATE;
dbms_output.put_line('The profile ' || :NEW.ID || ' has been inserted. The
created/updated at fields have been updated');
END;
/
:NEW.CREATED_AT := CURRENT_DATE;
:NEW.UPDATED_AT := CURRENT_DATE;
dbms_output.put_line('The file ' || :NEW.ORIGINAL_NAME || ' has been inserted.
The created/updated at fields have been updated');
END;
/
:NEW.CREATED_AT := CURRENT_DATE;
:NEW.UPDATED_AT := CURRENT_DATE;
dbms_output.put_line('The role ' || :NEW.NAME || ' has been inserted. The
created/updated at fields have been updated');
END;
/
:NEW.CREATED_AT := CURRENT_DATE;
:NEW.UPDATED_AT := CURRENT_DATE;
dbms_output.put_line('The user ' || :NEW.FIRST_NAME || ' ' || :NEW.LAST_NAME ||
' has been inserted. The created/updated at fields have been updated');
END;
/
:NEW.CREATED_AT := CURRENT_DATE;
:NEW.UPDATED_AT := CURRENT_DATE;
dbms_output.put_line('The address ' || :NEW.POSTAL_CODE || ' has been inserted.
The created/updated at fields have been updated');
END;
/
:NEW.CREATED_AT := CURRENT_DATE;
:NEW.UPDATED_AT := CURRENT_DATE;
dbms_output.put_line('The task ' || :NEW.name || ' has been inserted. The
created/updated at fields have been updated');
END;
/
OPEN projects_cursor;
LOOP
FETCH projects_cursor INTO amount, project_id;
IF amount = 0
THEN
UPDATE projects set status = 'finished' where id = project_id;
END IF;
END LOOP;
CLOSE projects_cursor;
END LOOP;
CLOSE cities_cursor;
END SEED_ADDRESSES;
/
FOR i IN 1..amount
LOOP
INSERT INTO userprofiles(description, hobbies)
values(DBMS_RANDOM.string('a',25), DBMS_RANDOM.string('a',25));
CLOSE address_cursor;
CLOSE role_cursor;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('An error occurred.');
END SEED_USERS;
/
OPEN leaders_cursor;
LOOP
FETCH leaders_cursor into leader_id;
EXIT WHEN leaders_cursor%notfound;
INSERT INTO TEAMS(name,leader_id)
VALUES(DBMS_RANDOM.string('a',10), leader_id)
RETURNING ID INTO current_team_id;
OPEN members_cursor;
FOR i in 1..member_per_team
LOOP
FETCH members_cursor into member_id;
IF record_exists = 0
THEN
INSERT INTO teamusers(team_id, user_id)
values(current_team_id, member_id);
END IF;
END LOOP;
CLOSE members_cursor;
END LOOP;
CLOSE leaders_cursor;
END SEED_TEAMS;
/
END SEED_PROJECTS;
/
SEED_CITIES(5);
SEED_ADDRESSES();
SEED_ROLES();
SEED_USERS('Project manager', 3);
SEED_USERS('Member', 10);
SEED_USERS('Administrator', 2);
SEED_USERS('Team leader', 2);
SEED_TEAMS();
SEED_PROJECTS();
END INITIAL_SEEDING;
/
BEGIN
INITIAL_SEEDING();
END;
/
EXCEPTION
WHEN weekend THEN
Raise_application_error(-20001,'You are not allowed to update a project during
weekends');
WHEN in_afara_programului THEN
Raise_application_error(-20001,'You are not to allowed the update a project if
at this time');
END;
/
select * from PROJECTS;
select * from project_teams;