-- Add the parameters for the stored procedure here
(
    
@Name varchar(100),
    
@Email varchar(200),
    
@Phone varchar(13),
    
@VehicleTemplateID int,
    
@DateOrdered datetime,
    
@OrderOptions varchar(max),
    
@ID int out
)
AS
    
DECLARE @Options AS TABLE ([Option] varchar(MAX))
--    DECLARE OptionCursor Cursor  
--
      FOR SELECT [Option] FROM @Options
--
    DECLARE @Option int
BEGIN TRANSACTION
    
-- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    
INSERT INTO @Options([Option]SELECT * FROM dbo.SplitWords(@OrderOptions);

    
-- Insert statements for procedure here
    insert into [Orders]
    (Name, Email, Phone, VehicleTemplateID, DateOrdered )
    
values
    (
@Name@Email@Phone@VehicleTemplateID@DateOrdered )
    
SET @ID = SCOPE_IDENTITY()

    
--added by joey, 08.7.24, insert options into orders_options table
--
    OPEN OptionCursor
--
    FETCH NEXT FROM OptionCursor INTO @Option
--
    WHILE (@@FETCH_STATUS <> -1)
--
    BEGIN
--
      IF (@@FETCH_STATUS <> -2)
--
      BEGIN
--
        INSERT INTO Orders_Options(OrderId, OptionId, Active)
--
          VALUES(@ID, @Option, 1)
--
      END
--
      FETCH NEXT FROM OptionCursor INTO @Option
--
    END
--
    CLOSE OptionCursor
    INSERT INTO Orders_Options(OrderId, OptionId, Active)
      
SELECT @ID
        
*
        
1 
        
FROM @Options
    
--end
    
    
IF @@ERROR <> 0
    
BEGIN
        
--ROLL BACK THE TRANSACTION
        ROLLBACK
    
        
--CREATE ERROR FOR FAILED UPDATE
        RAISERROR('Create of Order failed',16,1)
        
RETURN
    
END
    
ELSE
    
BEGIN
        
exec SendCustomVehicleEmail @name@email@phone@ID
    
END
COMMIT

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON






Cursorset ANSI_NULLS ON
Cursor
set QUOTED_IDENTIFIER ON
Cursor
go
Cursor
Cursor
Cursor
Cursor
Cursor
Cursor
Cursor
ALTER PROCEDURE [dbo].[CreateOrder] 
Cursor    
-- Add the parameters for the stored procedure here
Cursor
(
Cursor    
@Name varchar(100),
Cursor    
@Email varchar(200),
Cursor    
@Phone varchar(13),
Cursor    
@VehicleTemplateID int,
Cursor    
@DateOrdered datetime,
Cursor    
@OrderOptions varchar(max),
Cursor    
@ID int out
Cursor)
Cursor
AS
Cursor    
DECLARE @Options AS TABLE ([Option] varchar(MAX))
Cursor    
DECLARE OptionCursor Cursor  
Cursor      
FOR SELECT [Option] FROM @Options
Cursor    
DECLARE @Option int
Cursor
BEGIN TRANSACTION
Cursor    
-- SET NOCOUNT ON added to prevent extra result sets from
Cursor
    -- interfering with SELECT statements.
Cursor
    SET NOCOUNT ON;
Cursor
Cursor    
INSERT INTO @Options([Option]SELECT * FROM dbo.SplitWords(@OrderOptions);
Cursor
Cursor    
-- Insert statements for procedure here
Cursor
    insert into [Orders]
Cursor    (Name, Email, Phone, VehicleTemplateID, DateOrdered )
Cursor    
values
Cursor    (
@Name@Email@Phone@VehicleTemplateID@DateOrdered )
Cursor    
SET @ID = SCOPE_IDENTITY()
Cursor
Cursor    
--added by joey, 08.7.24, insert options into orders_options table
Cursor
    OPEN OptionCursor
Cursor    
FETCH NEXT FROM OptionCursor INTO @Option
Cursor    
WHILE (@@FETCH_STATUS <> -1)
Cursor    
BEGIN
Cursor      
IF (@@FETCH_STATUS <> -2)
Cursor      
BEGIN
Cursor        
INSERT INTO Orders_Options(OrderId, OptionId, Active)
Cursor          
VALUES(@ID@Option1)
Cursor      
END
Cursor      
FETCH NEXT FROM OptionCursor INTO @Option
Cursor    
END
Cursor    
CLOSE OptionCursor
Cursor    
--end
Cursor
    
Cursor    
IF @@ERROR <> 0
Cursor    
BEGIN
Cursor        
--ROLL BACK THE TRANSACTION
Cursor
        ROLLBACK
Cursor    
Cursor        
--CREATE ERROR FOR FAILED UPDATE
Cursor
        RAISERROR('Create of Order failed',16,1)
Cursor        
RETURN
Cursor    
END
Cursor    
ELSE
Cursor    
BEGIN
Cursor        
exec SendCustomVehicleEmail @name@email@phone@ID
Cursor    
END
Cursor
COMMIT
Cursor
Cursor
set ANSI_NULLS ON
Cursor
set QUOTED_IDENTIFIER ON
Cursor
Cursor
Cursor
Cursor
Cursor

相关文章: