Example #1
0
        public void AlterProcedure()
        {
            var statement = Sql.AlterProcedure("proc00", true)
                            .Parameters(Parameter.Int("@i01"),
                                        Parameter.DateTime("@sd02").DefaultValue(DateTime.Parse("2016-01-01")))
                            .InputOutputParameters(Parameter.Int("@i03"))
                            .OutputParameters(Parameter.String("@s04"), Parameter.Bit("@b05"))
                            .ReturnValue(Parameter.Int("@retVal"))
                            .As(
                Sql.Set("@b05", Sql.Scalar(1)),
                Sql.Set("@s04", Sql.Scalar("outputString")),
                Sql.Set("@i03", Sql.Name("@i01")),
                Sql.Return(123)
                );

            var command = Utilities.GetCommand(statement);

            Assert.NotNull(command);
            Assert.Equal(@"IF OBJECT_ID ( N'[proc00]', N'P' ) IS NULL
BEGIN;
EXEC (N' CREATE PROCEDURE [proc00]
(
@i01 INT OUTPUT,
@sd02 DATETIME = N''2016-01-01T00:00:00'' OUTPUT,
@i03 INT OUTPUT,
@s04 NVARCHAR ( MAX ) OUTPUT,
@b05 BIT OUTPUT
)
AS
BEGIN;
SET @b05 = 1;
SET @s04 = N''outputString'';
SET @i03 = @i01;
RETURN 123;
END;
' );
END;
ELSE BEGIN;
EXEC (N' ALTER PROCEDURE [proc00]
(
@i01 INT OUTPUT,
@sd02 DATETIME = N''2016-01-01T00:00:00'' OUTPUT,
@i03 INT OUTPUT,
@s04 NVARCHAR ( MAX ) OUTPUT,
@b05 BIT OUTPUT
)
AS
BEGIN;
SET @b05 = 1;
SET @s04 = N''outputString'';
SET @i03 = @i01;
RETURN 123;
END;
' );
END;", command.CommandText);
        }
Example #2
0
        public void AlterProcedure()
        {
            var statement = Sql.AlterProcedure("proc00", true)
                            .Parameters(Parameter.Text("columnValue"))
                            .As(
                Sql.Select.Output(Sql.Name("id")).From(Sql.Name("t1"))
                );

            var command = Provider.GetCommand(statement);

            Assert.IsNotNull(command);
            Assert.AreEqual("DROP PROCEDURE IF EXISTS `proc00`;\r\nDELIMITER $$\r\nCREATE PROCEDURE `proc00`\r\n(\r\nIN `columnValue` TEXT\r\n)\r\nBEGIN\r\nSELECT `id` FROM `t1`;\r\nEND  $$;\r\nDELIMITER ;", command.CommandText);
        }