Добавил:
margarita_rusheva
rushevamar@mail.ru
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:lab4-2_Procedure
.sql CREATE PROCEDURE dbo.ProcCalculator
(
@opd1 bigint,
@opd2 bigint,
@oprt char(1) = '*',
@result bigint OUTPUT
)
AS
BEGIN
set @result =
case @Oprt
when '+' then @opd1 + @opd2
when '-' then @opd1 - @opd2
when '*' then @opd1 * @opd2
when '/' then @opd1 / @opd2
else 0
end
END
GO
declare @result bigint
EXEC ProcCalculator 2, 5, '*', @result OUTPUT
PRINT @result
DROP PROCEDURE dbo.ProcCalculator
GO
CREATE Procedure Parse
(
@string varchar(500)
)
AS
BEGIN
DECLARE @Str1 nvarchar(500), @Pos int
SET @Str1 = @String
WHILE 1 > 0
BEGIN
SET @Pos = CHARINDEX(' ', @Str1)
IF @POS > 0
BEGIN
INSERT INTO @table
VALUES (SUBSTRING (@Str1, 1, @Pos))
SET @Str1 = REPLACE(@Str1, SUBSTRING (@Str1, 1, @Pos), '')
END
ELSE
BEGIN
INSERT INTO @table VALUES (@Str1)
BREAK
END
END
RETURN
END
GO
(
@opd1 bigint,
@opd2 bigint,
@oprt char(1) = '*',
@result bigint OUTPUT
)
AS
BEGIN
set @result =
case @Oprt
when '+' then @opd1 + @opd2
when '-' then @opd1 - @opd2
when '*' then @opd1 * @opd2
when '/' then @opd1 / @opd2
else 0
end
END
GO
declare @result bigint
EXEC ProcCalculator 2, 5, '*', @result OUTPUT
PRINT @result
DROP PROCEDURE dbo.ProcCalculator
GO
CREATE Procedure Parse
(
@string varchar(500)
)
AS
BEGIN
DECLARE @Str1 nvarchar(500), @Pos int
SET @Str1 = @String
WHILE 1 > 0
BEGIN
SET @Pos = CHARINDEX(' ', @Str1)
IF @POS > 0
BEGIN
INSERT INTO @table
VALUES (SUBSTRING (@Str1, 1, @Pos))
SET @Str1 = REPLACE(@Str1, SUBSTRING (@Str1, 1, @Pos), '')
END
ELSE
BEGIN
INSERT INTO @table VALUES (@Str1)
BREAK
END
END
RETURN
END
GO
Соседние файлы в предмете Системы и Методы Управления Базами Данных