
Добавил:
stud641pr2833455
support-vk-server-knmcadiknmcadibav.ru
Сайт моих друзей из VKT NDA : https://support-vk-server-knmcadiknmcadibav.ru/about/
ila_iv_id566844132@dnevnik.ru
VK Testers NDA (тестировщик) QA. Студент 4 курса.
+79009627198
https://vk.cc/help
#HLKLesNarod#
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:ila_iv_id566844132dnevnikru / Разработки для умных студентов на 5 / 665005-1 vrn / ila_iv_id566844132 dnevnik ru ростелеком / dnevnik ru / SQLQuery7фваы
.sql -- Переключение на базу NameDataB и создание схемы
USE master;
GO
IF DB_ID('NameDataB') IS NULL CREATE DATABASE NameDataB;
IF DB_ID('NameDB1') IS NULL CREATE DATABASE NameDB1;
GO
USE NameDataB;
GO
IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'БобровскийЛес')
EXEC('CREATE SCHEMA БобровскийЛес');
GO
-- Создание таблицы Клиенты
IF OBJECT_ID('БобровскийЛес.Клиенты') IS NULL
BEGIN
CREATE TABLE БобровскийЛес.Клиенты (
ID INT PRIMARY KEY IDENTITY,
ФИО NVARCHAR(100),
Телефон NVARCHAR(20),
Email NVARCHAR(100),
Город NVARCHAR(50),
ДатаРегистрации DATE,
ПоследняяПокупка DATE,
Статус NVARCHAR(20)
);
END
GO
-- Создание таблицы ИсторияКлиентов
IF OBJECT_ID('БобровскийЛес.ИсторияКлиентов') IS NULL
BEGIN
CREATE TABLE БобровскийЛес.ИсторияКлиентов (
ID INT PRIMARY KEY IDENTITY,
КлиентID INT FOREIGN KEY REFERENCES БобровскийЛес.Клиенты(ID),
ДатаОбращения DATETIME DEFAULT GETDATE(),
Комментарий NVARCHAR(MAX)
);
END
GO
-- Переход в базу NameDB1 и создание схемы и таблицы Продажи
USE NameDB1;
GO
IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'БобровскийЛес')
EXEC('CREATE SCHEMA БобровскийЛес');
GO
IF OBJECT_ID('БобровскийЛес.Продажи') IS NULL
BEGIN
CREATE TABLE БобровскийЛес.Продажи (
ID INT PRIMARY KEY IDENTITY,
КлиентID INT,
ДатаПродажи DATE,
Сумма MONEY
-- FOREIGN KEY пропущен, так как нельзя ссылаться напрямую на другую базу
);
END
GO
-- Добавление тестовых клиентов
USE NameDataB;
GO
INSERT INTO БобровскийЛес.Клиенты (ФИО, Телефон, Email, Город, ДатаРегистрации, ПоследняяПокупка, Статус)
VALUES
(N'Иванов Сергей', N'89001234567', N'sergey@example.com', N'Казань', GETDATE()-10, GETDATE()-5, NULL),
(N'Петрова Анна', N'89112223344', N'anna@example.com', N'Москва', GETDATE()-180, GETDATE()-100, NULL),
(N'Сидоров Максим', N'89225557766', N'max@example.com', N'Тула', GETDATE()-400, GETDATE()-300, NULL);
-- Автоматическая установка статуса
UPDATE БобровскийЛес.Клиенты
SET Статус = CASE
WHEN ПоследняяПокупка >= GETDATE()-30 THEN 'Активный'
WHEN ПоследняяПокупка >= GETDATE()-180 THEN 'Потенциальный'
ELSE 'Ушёл'
END;
GO
-- История взаимодействий
INSERT INTO БобровскийЛес.ИсторияКлиентов (КлиентID, Комментарий)
SELECT ID, N'Тестовое взаимодействие. Первый контакт.'
FROM БобровскийЛес.Клиенты;
GO
-- Добавление тестовых продаж
USE NameDB1;
GO
INSERT INTO БобровскийЛес.Продажи (КлиентID, ДатаПродажи, Сумма)
VALUES
(1, GETDATE()-5, 15000),
(2, GETDATE()-100, 20000),
(3, GETDATE()-300, 5000);
GO
-- Генерация XML-отчёта
USE NameDataB;
GO
DECLARE @XMLReport XML;
SET @XMLReport = (
SELECT
(SELECT COUNT(*) FROM БобровскийЛес.Клиенты) AS Клиентов,
(SELECT COUNT(*) FROM БобровскийЛес.ИсторияКлиентов) AS Истории,
(SELECT COUNT(*) FROM NameDB1.БобровскийЛес.Продажи) AS Продаж
FOR XML PATH('Статистика'), ROOT('Отчёт')
);
-- Вывод XML-отчёта
PRINT '-------- XML-ОТЧЁТ О СОЗДАНИИ --------';
SELECT @XMLReport;
USE master;
GO
IF DB_ID('NameDataB') IS NULL CREATE DATABASE NameDataB;
IF DB_ID('NameDB1') IS NULL CREATE DATABASE NameDB1;
GO
USE NameDataB;
GO
IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'БобровскийЛес')
EXEC('CREATE SCHEMA БобровскийЛес');
GO
-- Создание таблицы Клиенты
IF OBJECT_ID('БобровскийЛес.Клиенты') IS NULL
BEGIN
CREATE TABLE БобровскийЛес.Клиенты (
ID INT PRIMARY KEY IDENTITY,
ФИО NVARCHAR(100),
Телефон NVARCHAR(20),
Email NVARCHAR(100),
Город NVARCHAR(50),
ДатаРегистрации DATE,
ПоследняяПокупка DATE,
Статус NVARCHAR(20)
);
END
GO
-- Создание таблицы ИсторияКлиентов
IF OBJECT_ID('БобровскийЛес.ИсторияКлиентов') IS NULL
BEGIN
CREATE TABLE БобровскийЛес.ИсторияКлиентов (
ID INT PRIMARY KEY IDENTITY,
КлиентID INT FOREIGN KEY REFERENCES БобровскийЛес.Клиенты(ID),
ДатаОбращения DATETIME DEFAULT GETDATE(),
Комментарий NVARCHAR(MAX)
);
END
GO
-- Переход в базу NameDB1 и создание схемы и таблицы Продажи
USE NameDB1;
GO
IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'БобровскийЛес')
EXEC('CREATE SCHEMA БобровскийЛес');
GO
IF OBJECT_ID('БобровскийЛес.Продажи') IS NULL
BEGIN
CREATE TABLE БобровскийЛес.Продажи (
ID INT PRIMARY KEY IDENTITY,
КлиентID INT,
ДатаПродажи DATE,
Сумма MONEY
-- FOREIGN KEY пропущен, так как нельзя ссылаться напрямую на другую базу
);
END
GO
-- Добавление тестовых клиентов
USE NameDataB;
GO
INSERT INTO БобровскийЛес.Клиенты (ФИО, Телефон, Email, Город, ДатаРегистрации, ПоследняяПокупка, Статус)
VALUES
(N'Иванов Сергей', N'89001234567', N'sergey@example.com', N'Казань', GETDATE()-10, GETDATE()-5, NULL),
(N'Петрова Анна', N'89112223344', N'anna@example.com', N'Москва', GETDATE()-180, GETDATE()-100, NULL),
(N'Сидоров Максим', N'89225557766', N'max@example.com', N'Тула', GETDATE()-400, GETDATE()-300, NULL);
-- Автоматическая установка статуса
UPDATE БобровскийЛес.Клиенты
SET Статус = CASE
WHEN ПоследняяПокупка >= GETDATE()-30 THEN 'Активный'
WHEN ПоследняяПокупка >= GETDATE()-180 THEN 'Потенциальный'
ELSE 'Ушёл'
END;
GO
-- История взаимодействий
INSERT INTO БобровскийЛес.ИсторияКлиентов (КлиентID, Комментарий)
SELECT ID, N'Тестовое взаимодействие. Первый контакт.'
FROM БобровскийЛес.Клиенты;
GO
-- Добавление тестовых продаж
USE NameDB1;
GO
INSERT INTO БобровскийЛес.Продажи (КлиентID, ДатаПродажи, Сумма)
VALUES
(1, GETDATE()-5, 15000),
(2, GETDATE()-100, 20000),
(3, GETDATE()-300, 5000);
GO
-- Генерация XML-отчёта
USE NameDataB;
GO
DECLARE @XMLReport XML;
SET @XMLReport = (
SELECT
(SELECT COUNT(*) FROM БобровскийЛес.Клиенты) AS Клиентов,
(SELECT COUNT(*) FROM БобровскийЛес.ИсторияКлиентов) AS Истории,
(SELECT COUNT(*) FROM NameDB1.БобровскийЛес.Продажи) AS Продаж
FOR XML PATH('Статистика'), ROOT('Отчёт')
);
-- Вывод XML-отчёта
PRINT '-------- XML-ОТЧЁТ О СОЗДАНИИ --------';
SELECT @XMLReport;
Соседние файлы в папке dnevnik ru