MySQL & mSQL

         

к таблице student, совершенно независимой


my $query = "update sti/dent set subjects='Ssubjects'

where id=$id";

$dbh->query($query); } }

Эта функция осуществляет запрос к таблице student, совершенно независимой от таблицы subject. В пределах одной CGI-программы можно работать с любым числом различных таблиц одной базы данных. Можно переключаться с одной базы данных на другую, но одновременно может быть активна только одна база данных. Эта функция извлекает список предметов для каждого учащегося и добавляет к нему новый предмет, если его еще нет в списке.

Функция обрабатывает все возможные случаи, кроме одного, когда к предмету приписаны учащиеся, которых еще нет в таблице student. В этом случае список новых учащихся передается функции add4, как показано ниже:

sub add4 {

#получить список ©students и @notstudents

&update_students($id,@students) if @students;

&insert_students($id,@notstudents) if @notstudents;

# Вывести страницу успешного завершения. }

Эта функция разделяет список учащихся на существующих и несуществующих тем же способом, что и add3. Затем она обновляет список существующих учащихся с помощью функции update_students , показанной раньше. Несуществующие учащиеся посылаются новой вспомогательной функции insert_students :

sub insert_students { foreach $i (@list) {

# Производится выбор очередного числа из последовательности,

# определенной в таблице. Зто число используется как ID учащегося,

my $out = $dbh->query('select _seq from student');

my($sid) = $out->fetchrow;

# Для включения в базу данных все строки

# нужно процитировать.

my ($first, $middle, $last, $ext) = (

$dbh->quote(param("first$i")),

$dbh->quote(param("middle$i")),

$dbh->quote(param("last$i")),

$dbh->quote(param("ext$i")) );

my $query = "insert into student (id, first, middle, last,

ext, subjects) VALUES ($sid, $first, $middle,

$last, $ext, ':$id:')";

$dbh->query($query); } }

И эта функция обращается к таблице student, а не subject. Из последовательности, определенной в таблице student, извлекаются ID для новых учащихся, затем учащиеся вводятся в таблицу с этими ID.




Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий