Objetivo
Altera a forma do sistema Protheus gravar o campo R_E_C_N_O_ das tabelas de dados para a modalidade auto-incremental.
O campo R_E_C_N_O_ é a chave primária de todas as tabelas de dados do Protheus, sendo único e obrigatório.
O conteúdo de R_E_C_N_O_ é atribuído automaticamente pelo TOTVS DBAcess (antigo TopConnect) quando é efetuada uma inserção de linha (registro) através de comandos em sintaxe ADVPL.
A modalidade de atualização de R_E_C_N_O_ auto-incremental transfere para o banco de dados a responsabilidade por atribuir o valor de R_E_C_N_O_ através de atributos especializados. Estes atributos variam de banco de dados para banco de dados.
Para cada banco de dados em uso, o DBAccess utiliza um tipo de campo ou recurso para implementar o incremento automático do R_E_C_N_O_ :
Banco de dados | Campo / recurso |
---|
DB2 | IDENTITY |
Informix | SERIAL |
MSSQL | IDENTITY |
MySQL | AUTO_INCREMENT |
Oracle | SEQUENCE AND TRIGGER |
Postgres | SERIAL |
Sybase, OpenEdge e CtreeSQL | ** Não implementado |
recurso está disponível a partir do Protheus 12.
Modo de utilização
O recurso de R_E_C_N_O_ auto-incremental deve estar previamente definido no dicionário de dados padrão. Se a tabela já existia no banco de dados antes da aplicação do conceito auto-incremental, o preenchimento da coluna R_E_C_N_O_ continuará sendo feito pelo DBAccess, no modelo tradicional.