none
Store Procedure + XML RRS feed

  • Pergunta

  • Bom Dia pessoal,

    Eu fiz uma Store Procedure que pega um .xml e insere em um banco de dados.

    Como eu nao tenho o ID do cliente eu antes faço um select para pegar o id e inserir junto com meu xml.

    Ele até insere no banco de dados + o campo @IDcliente nao é alimentado:

    No IF ele entra + nao insere na tabela. (A linha que nao funciona em negrito)

    Aonde estou errando ?

    ALTER PROCEDURE [dbo].[DLSP_insereDB]

    @strXml text , @PCLIENTE varchar(6)

    AS

    BEGIN

    SET NOCOUNT ON;

    DECLARE @iXml INT

    DECLARE @DATA SMALLDATETIME

    DECLARE @IDcliente INT

    set @data = GETDATE()

    SET @IDcliente = (SELECT id_empresa FROM DL_empresa WHERE codigo=@PCLIENTE)

    EXEC sp_xml_preparedocument @iXml OUTPUT, @strXml

    IF @IDcliente>0  '' Aki ele entra no IF Retorna 24

    INSERT INTO [omeunegocio].[dbo].[DL_processo]

    ([id_empresa]

    ,[processo]

    ,[ficha_sgd]

    ,[ficha_gever]

    ,[status_gever]

    ,[status_sgd]

    ,[servico]

    ,[placa]

    ,[chassi]

    ,[proprietario]

    ,[doc]

    ,[loja]

    ,[financ]

    ,[contato])

    SELECT * FROM OPENXML(@iXml, '/VFPData/tmpproc', 2)

    WITH

    (

       id_empresa INT '@IDcliente'<- Esse campo nao é inserido no Banco de dados

       processo CHAR(12) '@processo',

       ficha_sgd CHAR(7) '@ficha_sgd',

       ficha_gever CHAR(12) '@ficha_gever',

       status_gever VARCHAR(50) '@obs_trans',

       status_sgd VARCHAR(50) '@obs_sgd',

       servico CHAR(2) '@uso_form',

       placa CHAR(7) '@placa',

       chassis VARCHAR(50) '@chassis',

       proprietario VARCHAR(50) '@proprietario',

       doc CHAR(14) '@doc',

       loja CHAR(4) '@loja',

       financ CHAR(4) '@financ',

       contato VARCHAR(30) '@contato'

    )

    EXEC sp_xml_removedocument @iXml

    RETURN

    END

    quinta-feira, 22 de junho de 2006 12:43

Todas as Respostas

  •  coloca um begin end no if exemplo

     

     

    EXEC sp_xml_preparedocument @iXml OUTPUT, @strXml

    IF @IDcliente>0   -- '' Aki ele entra no IF Retorna 24

     Begin

       INSERT INTO [omeunegocio

    ..

    ..

    ..

    End

    RETURN

    quinta-feira, 22 de junho de 2006 13:20