Alguém me ajuda com essas duas questões de procedure em SQL por favor

Os enunciados são os seguintes:

  1. Crie uma stored procedure que receba por parâmetro os dados da tabela MOVIMENTOS, exceto o número e a data de movimento, e inclua o registro desde que:
    ◦ Exista a conta passada por parâmetro na tabela CONTAS (ver pela chave primária inteira e não apenas pelo número da conta)
    :black_small_square: Ao incluir, para a data do movimento, passar a data corrente.
    ◦ Execute a procedure de forma que insira o registro.
    :black_small_square: Realize uma consulta que retorne apenas o registro inserido pela procedure.

  2. Realize uma nova inserção utilizando a stored procedure criada no exercício 1, porém, para outra conta.

Eu fiz o seguinte:

CREATE PROCEDURE p_movimentos(@codcoligada varchar(3), @codagencia varchar(14), @nroconta varchar(100), @valor numeric(17,2), @mora numeric(17,2), @multa numeric(17,2), @desconto numeric(17,2), @descricao numeric(17,2))
AS BEGIN
if(select * from CONTAS where CODCOLIGADA = @codcoligada and CODAGENCIA = @codagencia and NROCONTA = @nroconta)
BEGIN
insert into MOVIMENTOS(CODCOLIGADA,CODAGENCIA,NROCONTA,DATAMOVIMENTO,VALOR,MORA,MULTA,DESCONTO,DESCRICAO)
values(@codcoligada,@codagencia,@nroconta,@datamovimento,@valor,@mora,@multa,@desconto,@descricao)
END

Mas tá dando erro, não faço ideia como resolve esse exercício! Estou perdido.

Sem dizer qual erro fica impossível alguém aqui te ajudar.