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