Saudações, Pessoal!
Bom, o contexto no qual surgiu o problema é o seguinte;
Tenho um procedimento armazenado que realiza o cadastro de determinados valores em uma tabela do meu banco de dados. Nesse procedimento defini todas as variáveis como de entrada, emblem meu usuário deve inserir algum tipo de valor, porém nem todos os campos devem ser obrigatoriamente preenchidos, apenas o campo que preenche minha coluna que é uma chave estrangeira. Os campos que não possuem obrigatoriedade de preenchimento possuo a possibilidade de orientar o usuário a inserir “zeros” ou automatizar minha aplicação e inserir um valor nulo caso meu usuário digite zero ou deixe o campo em branco, eu optei pela segunda opção, já que o armazenamento de “zeros” utiliza espaço em meu servidor. Ao aplicar a validação necessária para a segunda opção, meu procedimento esbarra em arros o usuário digitando zero ou deixando o campo em branco. Peço desculpas se estou sendo muito prolixo na explanação do meu problema, porém sou novo aqui e me orientaram a expor o maior número de informações quando realizar uma pergunta.
Quando o usuário insere “zero” aparece a mensagem de erro 1054.
Quando deixa o campo em branco aparece a mensagem de erro 1064.
A validação que to utilizando é a seguinte:
p_n_cliente é uma variável de entrada.
if (p_n_cliente = none or '0') then do p_n_cliente = null; finish if;