#sql #oracle #oracle-sqldeveloper
Вопрос:
У меня есть группа студентов, которым я хочу предоставить студенческие привилегии для определенной базы данных, настроенной в oracle. Есть ли способ сделать это сразу или я могу сделать это только индивидуально?
У меня есть электронная таблица excel с номерами учащихся, и вот код sql, который я использую для добавления их по отдельности до сих пор
CREATE USER S56879 IDENTIFIED BY student
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA 100M ON users;
GRANT STUDENTROLE TO S56879;
Комментарии:
1. Убедитесь, что у каждого студента есть свой собственный уникальный пароль
Ответ №1:
Вы можете импортировать данные Excel в таблицу, а затем использовать динамический SQL; что-то вроде:
begin
for s in (select student_num from someTable) loop
execute immediate 'CREATE USER ' || s.student_num || ' IDENTIFIED BY ...';
execute immediate 'GRANT STUDENTROLE TO ' || s.student_num;
end loop;
end;