Запрос, указанный выше:
Anonymous Quiz
20%
выведет операции по t.DOCDATE в прямом порядке
20%
выведет операции по t.DOCDATE в обратном порядке
60%
вызовет SQL ошибку
Всем привет!
Встречались с блокировками во время прогрузки и установки пакетов? Когда пытаешься прогрузить новую версию пакета, а он постоянно кем то используется и заблокирован: то кто-то вызывает функцию пакета, то он залочен джобом (который тоже вызывает какую-то его процедуру).
Чтобы суметь таки прогрузить пакет на разработческой базе или тестовой (не на проде) можно запустить его компиляцию, далее с помощью сессий, узнать свой sid (например, это можно сделать в PL/SQL Developer-е в окне Tools -> Sessions), подставить его в этот скрипт в переменную v_mister_president_session и запустить его. Скрипт будет находить всех, кто блокирует Вашу сессию и будет убивать (kill) их. А ещё некоторое время будет проверять, не появился ли кто-то еще, кто хочет Вас заблокировать. Как только в течение некоторого времени больше не будет появляться сессий, которых необходимо отстреливать, скрипт сообщит о завершении работы! Разумеется, у пользователя, запускающего скрипт, должны быть права на снятие сессий.
#oracle #plsql #kill_sessions
Встречались с блокировками во время прогрузки и установки пакетов? Когда пытаешься прогрузить новую версию пакета, а он постоянно кем то используется и заблокирован: то кто-то вызывает функцию пакета, то он залочен джобом (который тоже вызывает какую-то его процедуру).
Чтобы суметь таки прогрузить пакет на разработческой базе или тестовой (не на проде) можно запустить его компиляцию, далее с помощью сессий, узнать свой sid (например, это можно сделать в PL/SQL Developer-е в окне Tools -> Sessions), подставить его в этот скрипт в переменную v_mister_president_session и запустить его. Скрипт будет находить всех, кто блокирует Вашу сессию и будет убивать (kill) их. А ещё некоторое время будет проверять, не появился ли кто-то еще, кто хочет Вас заблокировать. Как только в течение некоторого времени больше не будет появляться сессий, которых необходимо отстреливать, скрипт сообщит о завершении работы! Разумеется, у пользователя, запускающего скрипт, должны быть права на снятие сессий.
#oracle #plsql #kill_sessions
👍4❤2
Таблица CLIENTS имеет структуру:
CREATE TABLE CLIENTS (
ID INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(100) NOT NULL,
INN VARCHAR(12),
KPP VARCHAR(9),
DESCRIPTION VARCHAR(100)
);
Таблица INVOICES имеет структуру:
CREATE TABLE INVOICES (
ID INT PRIMARY KEY AUTO_INCREMENT,
DATE_INV DATE NOT NULL,
NOM_INV VARCHAR(20) NOT NULL,
AMOUNT DECIMAL(17, 2),
ID_CLIENT INT NOT NULL,
DESCRIPTION VARCHAR(100),
FOREIGN KEY (ID_CLIENT) REFERENCES CLIENTS(ID)
);
Есть два запроса:
a)
SELECT c.*
FROM CLIENTS c
LEFT JOIN INVOICES i
ON c.ID = i.ID_CLIENT
WHERE i.ID IS NULL
b)
SELECT *
FROM CLIENTS c
WHERE NOT EXISTS (SELECT *
FROM INVOICES i
WHERE i.ID_CLIENT = c.ID)
CREATE TABLE CLIENTS (
ID INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(100) NOT NULL,
INN VARCHAR(12),
KPP VARCHAR(9),
DESCRIPTION VARCHAR(100)
);
Таблица INVOICES имеет структуру:
CREATE TABLE INVOICES (
ID INT PRIMARY KEY AUTO_INCREMENT,
DATE_INV DATE NOT NULL,
NOM_INV VARCHAR(20) NOT NULL,
AMOUNT DECIMAL(17, 2),
ID_CLIENT INT NOT NULL,
DESCRIPTION VARCHAR(100),
FOREIGN KEY (ID_CLIENT) REFERENCES CLIENTS(ID)
);
Есть два запроса:
a)
SELECT c.*
FROM CLIENTS c
LEFT JOIN INVOICES i
ON c.ID = i.ID_CLIENT
WHERE i.ID IS NULL
b)
SELECT *
FROM CLIENTS c
WHERE NOT EXISTS (SELECT *
FROM INVOICES i
WHERE i.ID_CLIENT = c.ID)
❤2🤔1
ЧЕМ ОБУЧЕНИЕ В ФОРМАТЕ КУРСА ЛУЧШЕ САМОСТОЯТЕЛЬНОГО
Любым знаниям можно научиться как курсом/программой, так и самостоятельно.
👉 Самое главное отличие в способах получения - это время!
👉 В режиме курса Вас проведут и покажут все, что нужно, объяснят возможные проблемы и способы решения.
👉 В нужных местах Вы будете представлены один-на-один с нужными задачами.
👉 И постоянно у Вас будет поддержка, чтобы помочь направить мысли в нужную сторону.
👉 Во всех задачах разбираются индивидуально и выбранные методы решения задач, и оптимальные (и почему они наиболее оптимальные).
👉 При изучении SQL в режиме курса, его можно освоить менее, чем за месяц. В самостоятельном режиме - гораздо дольше и ещё откуда будешь знать, ко всему ли готов. Что нужно знать и уметь ещё.
У нас сегодня последний день специальной цены на изучение SQL и MS Excel!
Не откладывайте на "как-нибудь потом" своё настоящее и будущее!
Любым знаниям можно научиться как курсом/программой, так и самостоятельно.
👉 Самое главное отличие в способах получения - это время!
👉 В режиме курса Вас проведут и покажут все, что нужно, объяснят возможные проблемы и способы решения.
👉 В нужных местах Вы будете представлены один-на-один с нужными задачами.
👉 И постоянно у Вас будет поддержка, чтобы помочь направить мысли в нужную сторону.
👉 Во всех задачах разбираются индивидуально и выбранные методы решения задач, и оптимальные (и почему они наиболее оптимальные).
👉 При изучении SQL в режиме курса, его можно освоить менее, чем за месяц. В самостоятельном режиме - гораздо дольше и ещё откуда будешь знать, ко всему ли готов. Что нужно знать и уметь ещё.
У нас сегодня последний день специальной цены на изучение SQL и MS Excel!
Не откладывайте на "как-нибудь потом" своё настоящее и будущее!
👍4❤1
Для тех, кто думает о смене работы на работу из IT-сферы. Чем айти привлекателен!
Итак:
ПЛЮСЫ РАБОТЫ В IT
👉 Хорошая зарплата. В большинстве случаев сотрудникам айти специальностей хорошо платят!
👉 Гибкий график. Да, многие программисты, аналитики и тестировщики работают по удобному графику и это плюс!
👉 Возможность работать удалённо! Многие компании разрешают специалистам работать из дома. Удобно и экономит время и сотруднику, и деньги компании. В Германии за удалённый формат работы часто ещё и доплачивают, потому что сотрудник не расходует электричество компании. Мелочь, а получить раз в три месяца дополнительные 120 евро (11 тыс руб) на счет приятно.
👉 Возможность жить в другой стране с визой цифрового кочевника. Многие страны открывают возможность жить у себя, если Вы работаете в айти и зарабатываете не в этой стране. Главное, что Вы приносите стране деньги и даже часто не обязательно в ней платить налоги (если не заработали больше определённой суммы в год или не живёте в ней 183 или больше дней в году).
👉 Дополнительные социальные льготы для семей айти специалистов. Например, в России, начиная с 2022 года появилось льготное ипотечное кредитование для сотрудников it-компаний.
👉 Возможность развиваться и идти в ногу со временем! Вы знаете что и как работает изнутри.
Буду рад Вашим комментариям под постом. Какие плюсы Вы видите для себя в работы в айти.
Чуть позже напишу минусы :)
Итак:
ПЛЮСЫ РАБОТЫ В IT
👉 Хорошая зарплата. В большинстве случаев сотрудникам айти специальностей хорошо платят!
👉 Гибкий график. Да, многие программисты, аналитики и тестировщики работают по удобному графику и это плюс!
👉 Возможность работать удалённо! Многие компании разрешают специалистам работать из дома. Удобно и экономит время и сотруднику, и деньги компании. В Германии за удалённый формат работы часто ещё и доплачивают, потому что сотрудник не расходует электричество компании. Мелочь, а получить раз в три месяца дополнительные 120 евро (11 тыс руб) на счет приятно.
👉 Возможность жить в другой стране с визой цифрового кочевника. Многие страны открывают возможность жить у себя, если Вы работаете в айти и зарабатываете не в этой стране. Главное, что Вы приносите стране деньги и даже часто не обязательно в ней платить налоги (если не заработали больше определённой суммы в год или не живёте в ней 183 или больше дней в году).
👉 Дополнительные социальные льготы для семей айти специалистов. Например, в России, начиная с 2022 года появилось льготное ипотечное кредитование для сотрудников it-компаний.
👉 Возможность развиваться и идти в ногу со временем! Вы знаете что и как работает изнутри.
Буду рад Вашим комментариям под постом. Какие плюсы Вы видите для себя в работы в айти.
Чуть позже напишу минусы :)
👍4
В таблице CLIENTS следующие записи:
ID NAME INN
1 Ставрополь-отель 111
2 АО Проще простого 222
В таблице INVOICES следующие записи:
ID DATE_INV ID_CLIENT
1 20.01.2026 1
2 21.02.2026 1
Есть запрос:
SELECT c.ID,
c.NAME,
CASE
WHEN c.INN IS NOT NULL THEN
'Готовый'
WHEN EXISTS (select 1 from INVOICES where ID_CLIENT = c.ID) THEN
'Действующий'
END INFO
FROM CLIENTS c
ORDER BY c.ID
ID NAME INN
1 Ставрополь-отель 111
2 АО Проще простого 222
В таблице INVOICES следующие записи:
ID DATE_INV ID_CLIENT
1 20.01.2026 1
2 21.02.2026 1
Есть запрос:
SELECT c.ID,
c.NAME,
CASE
WHEN c.INN IS NOT NULL THEN
'Готовый'
WHEN EXISTS (select 1 from INVOICES where ID_CLIENT = c.ID) THEN
'Действующий'
END INFO
FROM CLIENTS c
ORDER BY c.ID
Что будет выведено в столбце INFO в первой строке результирующего набора данных указанным выше запросом?
Anonymous Quiz
8%
Null
66%
Готовый
22%
Действующий
5%
1
Есть два запроса:
1)
select fld1 from table1 except select fld1 from table2;
2)
select fld1 from table2 except select fld1 from table1;
1)
select fld1 from table1 except select fld1 from table2;
2)
select fld1 from table2 except select fld1 from table1;
👍2
Всем привет!
Спасибо за активное участие в решении задач и тестов по SQL! 🎉
Ранее писал про плюсы работы в it сфере. Теперь давайте посмотрим минусы:
➖ Сидячая работа. Работа в сфере айти чаще всего предполагает ежедневное долгое нахождение перед монитором / за ноутбуком. Чтобы это меньше сказывалось на здоровье рекомендуется периодически делать гимнастику, вести активность.
➖ Нагрузка на глаза, зрение. Ещё один большой минус работы за компьютером. Чтобы не получить проблем со зрением, рекомендую тоже периодически отвлекаться от экрана, менять деятельность. Придумывать алгоритм, например, можно и не глядя в монитор.
➖ Постоянное обучение. Технологии, которые были актуальны вчера, завтра могут устареть. Нужно поддерживать компетентность, чтобы оставаться востребованным!
Напишите, какие видите минусы в работе в айти Вы! Будет очень интересно! 🤗
Спасибо за активное участие в решении задач и тестов по SQL! 🎉
Ранее писал про плюсы работы в it сфере. Теперь давайте посмотрим минусы:
➖ Сидячая работа. Работа в сфере айти чаще всего предполагает ежедневное долгое нахождение перед монитором / за ноутбуком. Чтобы это меньше сказывалось на здоровье рекомендуется периодически делать гимнастику, вести активность.
➖ Нагрузка на глаза, зрение. Ещё один большой минус работы за компьютером. Чтобы не получить проблем со зрением, рекомендую тоже периодически отвлекаться от экрана, менять деятельность. Придумывать алгоритм, например, можно и не глядя в монитор.
➖ Постоянное обучение. Технологии, которые были актуальны вчера, завтра могут устареть. Нужно поддерживать компетентность, чтобы оставаться востребованным!
Напишите, какие видите минусы в работе в айти Вы! Будет очень интересно! 🤗
Может ли столбец, являющийся первичным ключом, быть одновременно и внешним ключом? То есть ссылаться на столбец другой таблицы.
Anonymous Quiz
72%
Да, может
28%
Нет, не может
Написал небольшую статью про SQL!
https://dzen.ru/a/ad91P_Dm3g7Vqp0J
https://dzen.ru/a/ad91P_Dm3g7Vqp0J
Дзен | Статьи
Почему SQL - хороший выбор для тех, кто хочет начать карьеру в IT
Статья автора «Илья Хохлов» в Дзене ✍: Язык SQL - один из самых простых, быстрых и, в то же время, верных способов начать свой путь в айти. И вот почему: Буду рад лайку, если понравилась статья!
🔥8👍2
При работе с базой данных, иногда бывает нужно найти хранимку или пакет, в котором вызывается такая -то функция, или откуда приходит определённый текст сообщения.
В разных СУБД есть разные средства для поиска программных объектов, содержащих искомый код. В ORACLE, например, можно воспользоваться системным представлением all_source.
Так можно найти все программные объекты, в которых есть некоторый текст:
В разных СУБД есть разные средства для поиска программных объектов, содержащих искомый код. В ORACLE, например, можно воспользоваться системным представлением all_source.
Так можно найти все программные объекты, в которых есть некоторый текст:
select * from all_source where text like '%клиент всегда прав%';
👍5✍2🔥2
В базе данных таблица Сотрудников Pers имеет вид:
ID FIO
1 Иванов Иван Иванович
2 Петров Павел Сергеевич
3 Третья Наталья Петровна
4 Четвёртый Ян Борисович
ID FIO
1 Иванов Иван Иванович
2 Петров Павел Сергеевич
3 Третья Наталья Петровна
4 Четвёртый Ян Борисович
Запрос: SELECT ID, FIO, FIO FROM Pers
Anonymous Quiz
76%
выведет четыре строки;
23%
не сможет быть выполнен, будет SQL ошибка;
1%
выполнится, но вернёт пустой набор данных.
В таблице CDR_AUTH 4 строки:
CDR_ID DTIME AUTH_TP D_VL
12345 10.04.26 09:01 1 0
12347 11.04.26 13:17 2 1.54
12348 11.04.26 18:06 1 0.9
12348 11.04.26 18:06 1 0
Какой будет результат выполнение SQL-запроса:
SELECT COUNT(*)
FROM CDR_AUTH
WHERE DTIME > DATE '2026-04-01'
AND 1 = CASE
WHEN AUTH_TP = 2 THEN 1
WHEN D_VL > 0.01 THEN 1
ELSE 0
END
CDR_ID DTIME AUTH_TP D_VL
12345 10.04.26 09:01 1 0
12347 11.04.26 13:17 2 1.54
12348 11.04.26 18:06 1 0.9
12348 11.04.26 18:06 1 0
Какой будет результат выполнение SQL-запроса:
SELECT COUNT(*)
FROM CDR_AUTH
WHERE DTIME > DATE '2026-04-01'
AND 1 = CASE
WHEN AUTH_TP = 2 THEN 1
WHEN D_VL > 0.01 THEN 1
ELSE 0
END
Какой будет результат выполнение указанного выше SQL-запроса?
Anonymous Quiz
12%
null
4%
0
20%
1
51%
2
3%
3
9%
4
Последний Zoom-курс по SQL. PostgreSQL (в этом учебном году).
Следующий запуск - осенью. Осталось 6 мест!
👉 Полное погружение. Целых 18 совместных онлайн тренингов! Каждый тренинг длится примерно 1 час.
👉 На уроках мы работаем, решаем задачи, практикуемся! Не просто объяснение материала, а реальная практика. Вы решаете задачи онлайн вместе со мной!
👉 После каждого урока: запись нашей встречи + краткий конспект.
👉 Каждые два урока: порция самостоятельных задач. Я индивидуально проверю работу каждого, помогу оптимизировать решения и найти ошибки.
👉 С нуля до уровня специалиста с трёхлетним стажем!
Цена 9.900 ₽ (550 ₽/урок).
Начинаем 12 мая и будем заниматься по вторникам и четвергам с 19:00 до 20:00.
Программа курса | Записаться
Следующий запуск - осенью. Осталось 6 мест!
👉 Полное погружение. Целых 18 совместных онлайн тренингов! Каждый тренинг длится примерно 1 час.
👉 На уроках мы работаем, решаем задачи, практикуемся! Не просто объяснение материала, а реальная практика. Вы решаете задачи онлайн вместе со мной!
👉 После каждого урока: запись нашей встречи + краткий конспект.
👉 Каждые два урока: порция самостоятельных задач. Я индивидуально проверю работу каждого, помогу оптимизировать решения и найти ошибки.
👉 С нуля до уровня специалиста с трёхлетним стажем!
Цена 9.900 ₽ (550 ₽/урок).
Начинаем 12 мая и будем заниматься по вторникам и четвергам с 19:00 до 20:00.
Программа курса | Записаться
Как быстрее всего вставить данные в ORACLE из коллекции в таблицу:
DECLARE
-- Коллекция
TYPE t_records IS TABLE OF SOME_TABLE%ROWTYPE;
v_records t_records := t_records();
BEGIN
-- Тут заполнение коллекции, работа с ней...
-- Вставка в таблицу
FORALL i IN 1..v_records.COUNT
INSERT INTO SOME_TABLE VALUES v_records(i);
COMMIT;
END;
/
🔥4