2016-05-12 5 views
2

Haben Sie das folgende Verfahren und Syntaxfehler bei einem Update erhalten:falsche Syntax nahe dem Schlüsselwort 'UPDATE'

USE [OTIDatabaseNewOutreach_V3.2.0_BESQL] 
GO 
/****** Object: StoredProcedure [dbo].[usp_OTIDataImportConstruction_U] Script Date: 5/12/2016 8:44:18 AM ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 

CREATE PROCEDURE [dbo].[usp_OTIDataImportConstruction_U] 

    UPDATE dbo.[OTI Trainer Data Import] 
    SET [Construction Industry Card #] = IsNull([c_cardnumberissued],[TrainerIDNumber]), 
     [Construction Date Issued] = [tblCourse].[c_enddate] 
    from tblCourse 
    inner JOIN dbo.tblCourseToStudent ON dbo.tblCourse.c_id = dbo.tblCourseToStudent.c_id 
    INNER JOIN 
      dbo.[OTI Trainer Data Import] ON dbo.tblCourseToStudent.t_id = dbo.[OTI Trainer Data Import].t_id 
    WHERE (c_program ='construction') AND (c_expdate>GetDate()); 

go  

..................... ..................................................

Antwort

1
USE [OTIDatabaseNewOutreach_V3.2.0_BESQL] GO /****** Object: StoredProcedure [dbo].[usp_OTIDataImportConstruction_U] Script Date: 5/12/2016 8:44:18 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO 

CREATE PROCEDURE [dbo].[usp_OTIDataImportConstruction_U] 
AS 
BEGIN 

UPDATE dbo.[OTI Trainer Data Import] 
    SET [Construction Industry Card #] = IsNull([c_cardnumberissued],[TrainerIDNumber]), 
     [Construction Date Issued] = [tblCourse].[c_enddate] 
    from tblCourse 
     inner JOIN dbo.tblCourseToStudent ON dbo.tblCourse.c_id = dbo.tblCourseToStudent.c_id INNER JOIN 
      dbo.[OTI Trainer Data Import] ON dbo.tblCourseToStudent.t_id = dbo.[OTI Trainer Data Import].t_id 
    WHERE (c_program ='construction') AND (c_expdate>GetDate()); 

END 
GO 
+1

'BEGIN' und' END' ist optional –

+0

@SeanCoetzee guter Punkt, enthalten sie so wie sie sind, was sich mit der generischen Vorlage von SSMS erstellt – Phil

Verwandte Themen