Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

suzaco7

Procedure

Recommended Posts

Bom dia pessoal, estou com um problema. Estou tentando criar este procedure mais ela me retorna o seguinte erro:

Error: 155 DATETIME is not as recognized CURSOR option.

The name 'dtCadastro' is not permited this context. Only constants, expressions, or variable allowed here.Column names are not permited.

 

A procedure é esta:

IF EXISTS (SELECT NAME FROM SYSOBJECTS 		 WHERE NAME = 'SP_CLIENTE_INSERT' AND TYPE = 'P')   DROP PROCEDURE SP_CLIENTE_INSERTGOCREATE PROCEDURE SP_CLIENTE_INSERT@Nome  VARCHAR(50),@CPF   VARCHAR(14),@Email   VARCHAR(50),@Senha  VARCHAR(10),@RG  VARCHAR(15),@dtExpedicao DATETIME,@dtNascimento DATETIME, @Logradouro  VARCHAR(40),@Numero  INTEGER,@Complemento  VARCHAR(20),@CEP   VARCHAR(9),@Bairro  VARCHAR(25),@Cidade  VARCHAR(25),@UF   VARCHAR(2), @DDD   INTEGER,@NumeroTel  VARCHAR(9),@Tipo   INTEGER ASBEGIN BEGIN TRANSACTION T_INSERE_CLIENTE DECLARE dtCadastro DATETIME SET dtCadastro = CONVERT(DATETIME, GETDATE(), 103) INSERT INTO CLIENTE (Nome, CPF, Email, Senha, RG, dtExpedicao, dtNascimento, dtCadastro) VALUES(@Nome, @CPF, @Email, @Senha, @RG, @dtExpedicao, @dtNascimento, dtCadastro)GO DECLARE cdCLIENTE INTEGER SELECT MAX(idCLIENTE) FROM CLIENTEGO SET cdCLIENTE = idCLIENTE INSERT INTO LOGRADOURO (CLIENTE_idCLIENTE, Logradouro, Numero, Complemento, CEP, Bairro, Cidade, UF) VALUES(cdCLIENTE, @Logradouro, @Numero, @Complemento, @CEP, @Bairro, @Cidade, @UF)GO INSERT INTO TELEFONE (TIPO_TELEFONE_idTIPO_TELEFONE, CLIENTE_idCLIENTE, DDD, NUMERO) VALUES(@Tipo, cdCLIENTE, @DDD, @NumeroTel)GO IF @@ERROR = 0	BEGIN		COMMIT TRANSACTION T_INSERE_CLIENTE		SELECT 1	ENDELSE	BEGIN		ROLLBACK TRANSACTION T_INSERE_CLIENTE		SELECT -1	 ENDEND GO
Será que alguém pode me dar uma ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

- declare as variaveis com @arroba antes

incorreto:

DECLARE dtCadastro DATETIME
correto:

DECLARE @dtCadastro DATETIME

- o comando GO não é permitido dentro de procedure

 

 

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.