Выбрать главу

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblEmployee.kci"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tbllnventory.kci"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblOrder.kci"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblOrderItem.kci"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblRegion.kci"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblCustomer.fky"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblDepartment.fky"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblEmployee.fky"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblInventory.fky"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblOrder.fky"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblOrderItem.fky"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblRegion.fky"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblCustomer.ext"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblDepartment.ext"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblEmployee.ext"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblInventory.ext"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblOrder.ext"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblOrderItem.ext"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.tblRegion.ext"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.EmployeeDepartment_view.viw"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.qryEmployee_view.viw"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.DeleteEmployee.prc"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.GetCustomerFromID.prc"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.InsertEmployee.prc"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.LastNameLookup.prc"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.procEmployeesSorted.prc"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.SelectEmployees.prc"

if %ERRORLEVEL% NEQ 0 goto errors

osql -S %1 -d %2 -E -b -i "dbo.UpdateEmployee.prc"

if %ERRORLEVEL% NEQ 0 goto errors

goto finish

REM: How to use screen

:usage

echo.

echo Usage: MyScript Server Database

echo Server: the name of the target SQL Server

echo Database: the name of the target database

echo.

echo Example: MyScript.cmd MainServer MainDatabase

echo.

echo.

goto done

REM: error handler

:errors

echo.

echo WARNING! Error(s) were detected!

echo____________________

echo Please evaluate the situation and, if needed,

echo restart this command file. You may need to

echo supply command parameters when executing

echo this command file.

echo.

pause

goto done

REM: finished execution

:finish

echo.

echo Script execution is complete!

:done

@echo on

НА ЗАМЕТКУ

В данном командном файле используются утилиты командной строки osql и bcp которые входят в состав SQL Server. Утилита osql предназначена для выполнения команд SQL, системных процедур и сценариев, а утилита bcp — для пакетного копирования данных в файл данных из SQL Server и обратно.

Данный командный файл можно запустить в окне Solution Explorer, щелкнув на нем правой кнопкой мыши и выбрав в контекстном меню команду Run. Его также можно выполнить извне, независимо от Visual Studio .NET, аналогично другим командным файлам.

СОВЕТ

Учтите, что при запуске данного командного файла по отношению к базе данных в ней будут удалены все данные!

Запросы

Аналогично сценариям создания и изменения, с помощью Visual Studio .NET можно генерировать запросы. За исключением тривиальных запросов, конструктор запросов с графическим пользовательским интерфейсом позволяет более эффективно и безошибочно создавать самые сложные запросы.

Далее работа в режиме конструктора запросов демонстрируется на примере создания параметрического запроса на обновление, который обновляет оптовые цены всех товаров на складе на указанную в процентах величину.

РИС. 8.13. Режим конструктора запросов с диалоговым окном Add Table

1. Откройте окно Solution Explorer и щелкните правой кнопкой мыши на любой папке, за исключением Database References. В контекстном меню выберите команду Add Query (Создать запрос), и на экране отобразится диалоговое окно Add New Item (Создать новый объект), показанное на рис. 8.2.

РИС. 8.14. Запрос на обновление поля WholesalePrice в таблице tblInventory

2. Выберите в области шаблонов Templates шаблон Database Query (Шаблон базы данных), укажите в текстовом поле Name имя нового запроса UpdateWholesale.dtq и щелкните на кнопке Open. (После этого на экране отобразится диалоговое окно Set Database Reference for Query для указания используемой ссылки на базу данных. — Прим. ред.) Далее в режиме конструктора запросов отобразится диалоговое окно Add Table (Включить таблицу), которое показано на рис. 8.13.

3. В диалоговом окне Add Table выберите таблицу tblInventory и щелкните на кнопке Add, а затем на кнопке Close.

4. Далее нужно изменить тип запроса с помощью команды меню Query→Change Туре→Update (Запрос→Изменить тип→Обновление).

5. В панели Diagram (Схема) конструктора запросов установите флажок в поле WholesalePrice, данные в котором предполагается обновить.