Member 12270086 Ответов: 0

Почему coloumn не обновляется с помощью PL/SQL


я пытаюсь вычислить cgpa студента из его семестрового gpa. и сохранить значение ГПД в ГПД столб в таблице результатов.

ссылка на мой код:http://paste.ubuntu.com / 21677789/.

наконец, он показывает вывод: hello term1

1307001 2 1 2

привет год2

привет термин1

1307001 3 1 1.7

Здравствуйте year3

Здравствуйте roll1307001

привет термин1

1307002 2 1 1.71315789473684210526315789473684210526

привет год2

привет термин1

1307002 3 1 1.76315789473684210526315789473684210526

Здравствуйте year3

Здравствуйте roll1307002

Процедура PL / SQL успешно завершена.

и значение gpa не обновляется в результирующем значении..почему значение tt показывается слишком долго ...помогите, пожалуйста...заранее спасибо.

Что я уже пробовал:

перепад результирующей таблицы ;
откидной столик cgpa_cal;
падение курсов таблица ;
drop table student;
создать таблицу студент(
номер рулона(10),
fname varchar(30),
lname varchar(30),
отдел варчар(50)
);
ALTER TABLE student ADD PRIMARY KEY (roll)


создание табличных курсов(
c_id varchar(30) НЕ НУЛЕВОЙ,
c_name varchar(30),
проверка кредитного целого числа (credit> 0 и credit< 5)
);

Изменения курсов таблица добавить первичный ключ (основные достижения и итоговые документы)
Изменения курсов таблица добавить уникальный ключ (основные достижения и итоговые документы)



создать таблицу результатов (
идентификационный номер (2),
номер рулона(10),
c_id varchar(30),
количество отметок (6,2),
номер года(3),
номер термина(3),
количество баллов(3,2),
проверка номера кредита(credit> 0 и credit< 5),
сорт варчар (4),
средний балл (3,2)
);

Изменить таблицу результатов добавить внешний ключ (рулон) ссылается студент(рулон)
Изменить таблицу результатов добавить внешний ключ (основные достижения и итоговые документы) справки курсы(основные достижения и итоговые документы)



опишите студента;
описания курсов;
опишите результат




вставить в значения student (roll,fname,lname,department) (1307001,'a', 'ss','cse');
вставить в значения student (roll,fname,lname,department) (1307002,'b', 'gg','cse');
вставить в значения student (roll,fname,lname,department) (1307003,'c', 'll','cse');
вставить в значения student (roll,fname,lname,department) (1307004,'d', 'kk','cse');


вставить в курсы (основные достижения и итоговые документы,c_name,кредит) значения ('cse3101','оглавление',3.00);
вставить в курсы (основные достижения и итоговые документы,c_name,кредит) значения ('cse3103','микро',3.00);
вставить в курсы (основные достижения и итоговые документы,c_name,кредит) значения ('cse3109','база данных',3.00);
вставить в курсы (основные достижения и итоговые документы,c_name,кредит) значения ('cse3119','се',3.00);


установите serveroutput on
СОЗДАТЬ ТРИГГЕР TR_GRAD
Перед вставкой или обновлением результата
ДЛЯ КАЖДОЙ СТРОКИ
НАЧАТЬ
Если: NEW. MARKS>=80, то
:НОВЫЙ.ОЦЕНКА:= ' A+';
: NEW.POINTS:=4.00;
ELSIF :NEW.MARKS>=70 и: NEW.MARKS<80 затем
:НОВЫЙ.КЛАСС:= 'B';
: NEW.POINTS:=3.30;
ELSIF :NEW.MARKS>=60 и: NEW.MARKS<70 затем
:НОВЫЙ.КЛАСС:= 'C';
: NEW.POINTS:=3.10;
ELSIF :NEW.MARKS>=50 AND: NEW.MARKS<60 THEN
:НОВЫЙ.КЛАСС:= 'D';
: NEW.POINTS:=3.00;
ELSIF :NEW.MARKS>40 и: NEW.MARKS<50 затем
:НОВЫЙ.КЛАСС:= 'E';
: NEW.POINTS:=2.75;
ELSIF: NEW.MARKS<=40 тогда
:НОВЫЙ.КЛАСС:= 'F';
: NEW.POINTS:=0.00;
КОНЕЦ, ЕСЛИ;
КОНЕЦ TR_GRAD;
/



вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (1,1307001,'3103 ЕГЭ',200,2,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (2,1307001,'3105 ЕГЭ',200,2,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (3,1307001,'ЕГЭ 3109',200,2,1,4,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (4,1307001,'3119 ЕГЭ',200,2,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (5,1307001,'3103 ЕГЭ',200,2,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (6,1307001,'3103 ЕГЭ',200,2,1,3,нуль,нуль,нуль);

вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (1,1307001,'3103 ЕГЭ',69,3,1,4,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (2,1307001,'3103 ЕГЭ',78,3,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (3,1307001,'3103 ЕГЭ',89,3,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (4,1307001,'ЕГЭ 3103',57,3,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (5,1307001,'3103 ЕГЭ',60,3,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (6,1307001,'3103 ЕГЭ',90,3,1,3,нуль,нуль,нуль);

вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (1,1307002,'3103 ЕГЭ',200,2,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (2,1307002,'3103 ЕГЭ',64,2,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (3,1307002,'ЕГЭ 3103',56,2,1,4,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (4,1307002,'3103 ЕГЭ',80,2,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (5,1307002,'ЕГЭ 3103',70,2,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (6,1307002,'3103 ЕГЭ',78,2,1,3,нуль,нуль,нуль);

вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (1,1307002,'3103 ЕГЭ',100,3,1,4,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (2,1307002,'3103 ЕГЭ',70,3,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (3,1307002,'3103 ЕГЭ',78,3,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (4,1307002,'3103 ЕГЭ',60,3,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (5,1307002,'3103 ЕГЭ',77,3,1,3,нуль,нуль,нуль);
вставить в результат (идентификатор,крен,основные достижения и итоговые документы,марки,году,срок,кредита,очки,класс,ГПД) значения (6,1307002,'3103 ЕГЭ',89,3,1,3,нуль,нуль,нуль);

совершить;



выберите * от студента;
выберите * из курсов;
выберите * из результата;

УСТАНОВИТЕ SERVEROUTPUT ON;
ОБЪЯВЛЯТЬ
результат рол.свернуть%тип;
общее число ;
удалить ряд(2);
тип pointt result. points%;
результат кредитов.%по кредиту типа;
результат сумм.%по кредиту типа;
средний балл количество;
четырехзначное число;
y результат. год%тип;
результат t.срок%тип;
конечно же, результат.основные достижения и итоговые документы%тип;
ТТ результат.%по кредиту типа;
Результат СГ.%по кредиту типа;

НАЧАТЬ
rol:=1307001;
y:=2;
t:=1;
rid:=1;
итого:=0;
TT:=0;
курс:=0;
Сумма:=0;
CR:=0;
ПЕТЛЯ
y:=2;
петля
t:=1;




RID:=1;
TT:=0;
Итого:=0;
CR:=0;
сумма:=0;


ПЕТЛЯ
Выберите точки,кредит,году,понятие,основные достижения и итоговые документы в pointt,кредиты,г,т,конечно, от результата куда катимся=рол и года=Y и термин=т и ID=мпог;
итого:=pointt;


Итого:=всего * кредитов;


TT:=TT+ВСЕГО;

CR:=CR+кредиты;

RID:=RID+1;

Выход при RID> 6;




КОНЦЕВАЯ ПЕТЛЯ;


dbms_output.put_line('привет, термин'|| Т);

Выбрать сумма(кредит) на сумму от результата куда катимся=рол;

TT:=TT/SUMM;
обновление результирующего набора gpa=tt, где rol=roll и id=1 и year=y и term=t;
dbms_output.put_line(рол||' '||г||' '||т||' '||ТТ);

dbms_output.put_line('привет год'|| г);
y:=y+1;
выходите, когда y> 3;
концевая петля;
dbms_output.put_line('привет' крена|| рол);
rol:=rol+1;
выход при rol> 1307002;
концевая петля;




КОНЕЦ;
/

Suvendu Shekhar Giri

Отладки и посмотреть?

0 Ответов