Posts Tagged ‘SQL’

Курсор по таблице

Понедельник, 13 июня, 2016

Есть таблица CDR_TEL_YYYYMM

CREATE TABLE CDR_TEL_YYYYMM
("ID_TRANS" NUMBER(10),
	"N_DURATION" NUMBER(10),
  "B_PROCESSED" NUMBER(1) DEFAULT 0
) TABLESPACE MIRAVILD_DATA;
 
COMMENT ON TABLE CDR_TEL_YYYYMM IS 'Проводка';
COMMENT ON COLUMN CDR_TEL_YYYYMM.ID_TRANS IS 'Код проводки';
COMMENT ON COLUMN CDR_TEL_YYYYMM.N_DURATION IS 'Продолжительность проводки';
COMMENT ON COLUMN CDR_TEL_YYYYMM.B_PROCESSED IS 'Признак обработки (0 - не обработан)';
/

(далее…)

Интересные вопросы про Oracle

Воскресенье, 12 июня, 2016
  1. Что будет, если попытаться вставить запись в DUAL?
  2. Задача – выгрузить 10 миллионов записей из таблицы в плоский файл. Как бы вы это сделали?
  3. Сколькими способами вы можете на чистом SQL получить ровно 56 строк (неважно какого содержания)? Какой из них быстрее?
  4. Что такое транспонирование строк? Сколькими разными способами вы сможете это проделать?

(далее…)

Справочник стран

Воскресенье, 12 июня, 2016

Есть справочник стран — таблица FW_COUNTRY

CREATE TABLE FW_COUNTRY
("ID_COUNTRY" NUMBER(10),
	"V_NAME" VARCHAR2(64),
  "B_DELETED" NUMBER(1) DEFAULT 0
) TABLESPACE MIRAVILD_DATA;
 
COMMENT ON TABLE FW_COUNTRY IS 'Страна';
COMMENT ON COLUMN FW_COUNTRY.ID_COUNTRY IS 'Код страны';
COMMENT ON COLUMN FW_COUNTRY.V_NAME IS 'Наименование страны';
COMMENT ON COLUMN FW_COUNTRY.B_DELETED IS 'Признак удаления (0 - активна)';
/

(далее…)

Курс валюты

Воскресенье, 12 июня, 2016

Имеется таблица изменений курса валют T_CURRENCY

CREATE TABLE T_CURRENCY
("CODE" VARCHAR2(32),
	"DATE_C" DATE,
  "VALUE" NUMBER
) TABLESPACE MIRAVILD_DATA;
 
COMMENT ON TABLE T_CURRENCY IS 'Валюта';
COMMENT ON COLUMN T_CURRENCY.CODE IS 'Код валюты';
COMMENT ON COLUMN T_CURRENCY.DATE_C IS 'Дата изменения курса';
COMMENT ON COLUMN T_CURRENCY.VALUE IS 'Значение курса';
/

(далее…)

Дублирующиеся записи

Воскресенье, 5 июня, 2016

При выполнении задачи – с мигрировать данные по адресам для контрактов, необходимо произвести проверку на наличие дублированных записей. Известно, что у одного контракта может быть только один адрес.
(далее…)

Задачка на SQL

Воскресенье, 29 мая, 2016

Существует таблица, содержащая статусы доставки сообщений:

CREATE TABLE SMS_MESSAGE_DLV_STATUS 
(sms_message_id NUMBER(20),
	dlv_status VARCHAR2(20),
	dlv_status_at TIMESTAMP
) TABLESPACE MIRAVILD_DATA;
 
COMMENT ON TABLE SMS_MESSAGE_DLV_STATUS IS 'Статус сообщения';
COMMENT ON COLUMN SMS_MESSAGE_DLV_STATUS.sms_message_id IS 'Идентификатор статуса';
COMMENT ON COLUMN SMS_MESSAGE_DLV_STATUS.dlv_status IS 'Статус доставки сообщения';
COMMENT ON COLUMN SMS_MESSAGE_DLV_STATUS.dlv_status_at IS 'Дата сообщения';

CREATE UNIQUE INDEX "U_IDX_SMS_MESSAGE_STATUS" ON SMS_MESSAGE_DLV_STATUS (sms_message_id) TABLESPACE MIRAVILD_INDEX;

ALTER TABLE SMS_MESSAGE_DLV_STATUS ADD CONSTRAINT "PK_SMS_MESSAGE_STATUS" PRIMARY KEY (sms_message_id)
  USING INDEX "U_IDX_SMS_MESSAGE_STATUS" ENABLE VALIDATE;

ALTER TABLE SMS_MESSAGE_DLV_STATUS MODIFY (dlv_status CONSTRAINT SMS_MESSAGE_STATUS_NN NOT NULL ENABLE);
ALTER TABLE SMS_MESSAGE_DLV_STATUS MODIFY (dlv_status_at CONSTRAINT SMS_MESSAGE_AT_NN NOT NULL ENABLE);
/

(далее…)

Тестовые задачи

Понедельник, 16 мая, 2016

Задание №1
Даны таблицы. Получить список в виде: Адрес – Количество проживающих людей. Только адреса, по которым проживает больше 2-х человек.

A
ID_PERSON PERSON_NAME ID_ADDRESS
1 Иванов 1
2 Петров 2
3 Сидоров 3
4 Михайлова 3
B
ID_ADDRESS ADDRESS_STRING
1 Красная пл., 1
2 Проспект Мира, 12а
3 Озерная ул., 3

(далее…)

Запросы на общее знание SQL

Суббота, 14 мая, 2016

Реализовать запросы на стандартном SQL.
Нельзя использовать конструкции типа:
SELECT * FROM (SELECT * FROM) | SELECT TOP N | ROW_NUMBER() OVER () | Временные таблицы | Вендорные расширения и т.д.
(далее…)

Моделирование. Документ и валюта

Пятница, 13 мая, 2016

Существует таблица документов с суммой в определённой валюте и таблица валют по отношению к рублю.

Логическая модель

Логическая модель

(далее…)

Моделирование. Отдел и сотрудник

Среда, 11 мая, 2016

Запросы SQL по схеме БД

Логическая модель

Логическая модель

(далее…)