Читайте также:
|
|
EXEC usp_01 @path = 'D:\BACKUP\'
GO
Вариант 02
Создать и протестировать хранимую процедуру на T-SQL, которая, не уничтожая текущую базу данных, уничтожает все таблицы в схеме 'dbo', имена которых начинаются с префикса, указываемого параметром процедуры.
----------------------------
Создать и протестировать хранимую процедуру на T-SQL, которая, не уничтожая текущую базу данных, уничтожает все таблицы в схеме 'dbo', имена которых начинаются с префикса, указываемого параметром процедуры.
CREATE PROCEDURE usp_02 @param VARCHAR(150)
AS
BEGIN
DECLARE @tname VARCHAR(150)
DECLARE @strsql VARCHAR(300)
SELECT @tname = (SELECT TOP 1 [name] FROM sys.objects WHERE [type] = 'U' and [name] like @param+'%' ORDER BY [name])
WHILE @tname IS NOT NULL
BEGIN
SELECT @strsql = 'DROP TABLE [dbo].[' + RTRIM(@tname) + ']';
EXEC (@strsql);
PRINT 'Dropped Table: ' + @tname;
SELECT @tname = (SELECT TOP 1 [name] FROM sys.objects WHERE [type] = 'U' AND [name] LIKE @param+'%' AND [name] > @tname ORDER BY [name]);
END;
END;
GO
Условия тестирования
CREATE TABLE TableNameXXX (c1 int);
GO
CREATE TABLE TableNameYYY (c1 float);
GO
CREATE TABLE TableNameZZZ (c1 char(2));
GO
EXEC usp_02 @param='TableName';
GO
Результаты тестирования
Dropped Table: TableNameXXX
Dropped Table: TableNameYYY
Dropped Table: TableNameZZZ
-----------------
Напишите сценарий, который, не уничтожая базу данных, уничтожает все те таблицы базы данных, имена которых начинаются с фразы 'TableName'. Созданный сценарий протестировать.
USE demodb
GO
DECLARE @tname VARCHAR(150)
DECLARE @strsql VARCHAR(300)
SELECT @tname = (SELECT TOP 1 [name] FROM sys.objects WHERE [type] = 'U' and [name] like N'TableName%' ORDER BY [name])
WHILE @tname IS NOT NULL
BEGIN
SELECT @strsql = 'DROP TABLE [dbo].[' + RTRIM(@tname) + ']'
EXEC (@strsql)
PRINT 'Dropped Table: ' + @tname
SELECT @tname = (SELECT TOP 1 [name] FROM sys.objects WHERE [type] = 'U' AND [name] like N'TableName%' AND [name] > @tname ORDER BY [name])
GO
Условия тестирования
USE demodb
GO
CREATE TABLE TableNameXXX (c1 int)
GO
CREATE TABLE TableNameYYY (c1 float)
GO
CREATE TABLE TableNameZZZ (c1 char(2))
GO
Результаты тестирования
Dropped Table: TableNameXXX
Dropped Table: TableNameYYY
Dropped Table: TableNameZZZ
Вариант 03
В базе данных Northwind создать и протестировать многооператорную табличную функцию на T-SQL, которая для таблицы Employees возвращает таблицу служебных отношений, связанных с подчинением одних сотрудников, сотрудникам более высоких уровней. Возвращаемая таблица должна содержать ID сотрудника и уровень субординации.
--------------------
Дата добавления: 2015-02-16; просмотров: 68 | Поможем написать вашу работу | Нарушение авторских прав |