2013-02-11 5 views
0

Я не являюсь человеком SQL, поэтому я боюсь. Что не так с "program" ниже, что мешает мне создать эту хранимую процедуру? Любая помощь или рекомендации по очистке были бы замечательными.SQL Server Сохраненная процедура Синтаксис

ALTER PROCEDURE [dbo].[CreateHaystackExportJob_Program] 
    -- Add the parameters for the stored procedure here 
    @ID AS VARCHAR 
AS 
BEGIN 
    -- SET NOCOUNT ON added to prevent extra result sets from 
    -- interfering with SELECT statements. 
    SET NOCOUNT ON; 

    DECLARE @JobCount AS INT 

    SELECT 
     @JobCount = COUNT (*) 
    FROM 
     dbo.HaystackExportJobs 
    WHERE 
     ID = @ID AND ExportType = "program" 

    IF @JobCount = 0 
     INSERT INTO dbo.HaystackExportJobs (ID,ExportType) VALUES (@ID,"program") 

END 
+3

Вы получите гораздо лучшую обратную связь, если вы разместите сообщение об ошибках –

+0

Вы правы, извините. – MFB

ответ

3

Нечетные вещи:

  1. параметр объявлен VARCHAR без размера.
  2. Нельзя использовать кавычки для инкапсуляции строк. Вам нужно использовать апострофы.
5

Несколько вещей, сначала вы должны указать длину на параметр @id.

Во-вторых, строковые значения в SQL Server должны быть в одинарных кавычках, поэтому удалите двойные кавычки и замените их одинарными кавычками около "program". Так что ваш код будет похож на это:

CREATE PROCEDURE [dbo].[CreateHaystackExportJob_Program] 
    -- Add the parameters for the stored procedure here 
    @ID AS VARCHAR(50) -- place a length on this parameter or an int if this is numeric 
AS 
BEGIN 
    -- SET NOCOUNT ON added to prevent extra result sets from 
    -- interfering with SELECT statements. 
    SET NOCOUNT ON; 

    DECLARE @JobCount AS INT 

    SELECT 
     @JobCount = COUNT (*) 
    FROM 
     dbo.HaystackExportJobs 
    WHERE 
     ID = @ID 
     AND ExportType = 'program' 

    IF @JobCount = 0 
     INSERT INTO dbo.HaystackExportJobs (ID,ExportType) 
     VALUES (@ID,'program') 

END 

См SQL Fiddle with Demo

0

Используйте одинарные кавычки, а не двойные кавычки. Ниже приведен пример использования двойных кавычек. ExportType = "program"

Смежные вопросы