Criando uma Stored Procedure para auto-incremento

Embora o Visual FoxPro 8.0 já tenha de forma nativa um campo de auto-incremento, vamos criar nossa própria rotina de auto-incremento através de uma stored procedure. Basta adicionar o seguinte código às stored procedures:

Figura 22 – Código da Stored Procedure GeraCodigo()

Essa Stored Procedures é capaz de gerar código seqüencial para qualquer tabela do banco de dados, desde que sejam seguidas as seguintes regras:

  • O campo seqüencial seja sempre o primeiro campo da tabela.
  • O campo seqüencial seja sempre do tipo caractere.

É claro que para gerar código sequencial para campos do tipo numérico ou inteiro basta alterar a função. Fica a gosto do freguês.

Uma vez que a função já está inclusa no banco, juntamente com as Stored Procedures, vamos alterar  a  estrutura  das  nossas  tabelas  e  adicionar  a  função  ao  valor  inicial  do  campo sequencial. Para isso, modifique o banco de dados e clique sobre o nome da tabela que quer alterar. Vamos começar pela tabela de clientes. Clique sobre o botão Modify após selecionar a tabela.

Selecione o campo “id_cliente” e faça a modificação conforme destaque na próxima figura e depois clique em “OK“.

Figura 23 – definindo função de auto-incremento ao valor padrão do campo

Agora repita a mesma operação para as outras quatro tabelas. Lembre-se apenas sobre o campo ID da própria tabela.

Humm… já estava me esquecendo… muito provavelmente você deve estar curioso pra saber onde é que vai a chamada ao código do trigger para apagar os registros. Muito bem, modifique a tabela de clientes e vá à aba “Table” e veja, conforme figura 24:

Figura 24 – Trigger apagar clientes

Muito bem, a parte de banco de dados está finalmente pronta! Agora partiremos para conhecer os formulários.

Continua em Desenvolvendo em VFP – Parte 6

Print Friendly, PDF & Email

Sobre o Autor