CRIAR STORAGE PROCEDURE COM ERRO

FERRUBIM 23/04/2016 14:30:25
#461294
alguem pode me dizer como fazer esta storage procedure, dá a seguinte mensagem :
Mensagem 102, Nível 15, Estado 1, Procedimento Sp_AtualizaDiasAtraso, Linha 21
Sintaxe incorreta próxima a [ô]NULL[ô].


CREATE PROCEDURE [dbo].[Sp_AtualizaDiasAtraso]
@PARAMETRO1 VARCHAR(10),
@PARAMETRO2 VARCHAR(10),
@BANCO INTEGER

AS
BEGIN

UPDATE TB_TITULO SET NR_DIAS_ATRASO = DATEDIFF(Day,@PARAMETRO1, @PARAMETRO2)
FROM TB_TITULO
INNER JOIN TB_CONTRATO ON
TB_TITULO.ID_CONTRATO = TB_CONTRATO.ID_CONTRATO AND
TB_TITULO.CD_CLIENTE = TB_CONTRATO.CD_CLIENTE AND
TB_CONTRATO.FL_EXCLUIDO = 0 AND TB_CONTRATO.ID_BANCO = @BANCO
AND TB_TITULO.DT_RECEBIMENTO IS NULL
KERPLUNK 23/04/2016 20:29:57
#461300
Resposta escolhida
Primeiro que é horroroso usar datas como strings, use tipagem de dados apropriada.
Segundo, veja o que está sendo passado no parâmetro Banco
FERRUBIM 24/04/2016 09:11:18
#461314
Mudei parametros 1 e 2 para DATE.... o erro se dá na criacao da SP dentro do sqlserver 2014, no management studio. e o campo TB_CONTRATO.ID_BANCO é integer ...

CREATE PROCEDURE [dbo].[Sp_AtualizaDiasAtraso]
@PARAMETRO1 date,
@PARAMETRO2 date,
@BANCO as INTEGER

AS
BEGIN

UPDATE TB_TITULO SET NR_DIAS_ATRASO = DATEDIFF(Day,@PARAMETRO1, @PARAMETRO2)
FROM TB_TITULO
INNER JOIN TB_CONTRATO ON
TB_TITULO.ID_CONTRATO = TB_CONTRATO.ID_CONTRATO AND
TB_TITULO.CD_CLIENTE = TB_CONTRATO.CD_CLIENTE AND
TB_CONTRATO.FL_EXCLUIDO = 0 AND TB_CONTRATO.ID_BANCO = @BANCO
AND TB_TITULO.DT_RECEBIMENTO = NULL
FERRUBIM 24/04/2016 09:43:45
#461315
Faltava o END do Begin....
Tópico encerrado , respostas não são mais permitidas