Start New Discussion within our Databases Community

I want to have the following on SQL Azure:

IF EXISTS(SELECT * FROM [sys].[databases] WHERE [name] = db_name() AND [compatibility_level] = 110)
BEGIN
    ALTER PROCEDURE [dbo].[Test] AS 
    BEGIN 
        -- Omitted body containing lots of strings
    END
END

or a work-around that does something similar. What follows is what I'm trying to avoid:

IF EXISTS(SELECT * FROM [sys].[databases] WHERE [name] = db_name() AND [compatibility_level] = 110)
BEGIN
    EXEC [sys].[sp_executesql] N'ALTER PROCEDURE [dbo].[Test] AS 
    BEGIN 
        -- Omitted body containing lots of strings
    END'
END

The reason I want to avoid the above, is because the stored procedure contains a lot of strings that need escaping.

@pritaeas

Looking for work-around

What do you mean by work around? I never heard work around. I know you are using SQL Azure.

You can try Start a Job or Stop a Job:

This is for stop a job:

CREATE PROCEDURE [sys].[StopJob](@id)
AS
UPDATE [databases]
WHERE [name] = db_name()
AND [compatibility_level] = 110

ALTER PROCEDURE [dbo].[Test]
AS
BEGIN 

I'm not sure what you are getting at. My problem is just that the 1st SQL shown doesn't work, and I am looking for something other than the 2nd. I don't see any relation to jobs.

This question has already been answered. Start a new discussion instead.