Generator

[b]Estou tentando implementar o autoincremento no meu sistema, mas não estou conseguindo.
Estou fazendo isto pelo banco de dados atraves do generator, encontrei exemplos em que foram criados triggers, outros nao, gostaria de saber como devo proceder, qual devo criar primeiro?, é realmente necessario criar a trigger?qual o melhor jeito?

Este é meu SQL
create table Cidade(
CodCidade integer not null primary key,
NomeCidade varchar(50) not null,
Uf varchar(2) not null);

create table Fornecedor(
CodFornecedor integer not null primary key,
NomeFornecedor varchar(50) not null,
TelefoneFornecedor varchar(12) not null,
TipoPessoa varchar (8) not null,
CNPJCPF varchar (14) not null,
IERG varchar (15) not null,
NomeEmpresa varchar(50),
Endereco varchar (50) not null,
CodCidade integer not null,
Bairro varchar (50) not null,
Cep varchar (9) not null,
Observacao varchar (500),
Status varchar(7) not null,
foreign key (CodCidade) references Cidade);

create table Produto(
CodProduto integer not null primary key,
NomeProduto varchar(40) not null,
TipoProduto varchar (13) not null,
DescricaoProduto varchar (200),
LoteProduto varchar (30));

create table Compra(
CodCompra integer not null primary key,
CodFornecedor integer not null,
DataEmissao date not null,
DataEntrega date not null,
foreign key (CodFornecedor) references Fornecedor);

create table Mesa(
CodMesa integer not null primary key,
StatusMesa varchar (7) not null);

create table Venda(
CodVenda integer not null primary key,
CodMesa integer not null,
DataVenda date not null,
foreign key (CodMesa) references Mesa);

create table ItemProdutoCompra(
CodItemProdutoCompra integer not null primary key,
CodCompra integer,
CodProduto integer,
QtdeProdutoCompra integer not null,
foreign key (CodCompra) references Compra,
foreign key (CodProduto) references Produto);

create table ItemProdutoVenda(
CodItemProdutoVenda integer not null primary key,
CodVenda integer not null,
CodProduto integer not null,
QtdeProdutoVenda integer not null,
foreign key (CodVenda) references Venda,
foreign key (CodProduto) references Produto);

create table BaixaEstoque(
CodBaixa integer not null primary key,
CodProduto integer not null,
QtdeProdutoBaixa integer not null,
DataBaixa date not null,
foreign key (CodProduto) references Produto);

create generator genCodCidade;
Set generator genCodCidade to 0;

create generator genCodFornecedor;
Set generator genCodFornecedor to 0;

create generator genCodProduto;
Set generator genCodProduto to 0;

create generator genCodCompra;
Set generator genCodCompra to 0;

create generator genCodMesa;
Set generator genCodMesa to 0;

create generator genCodItemProdutoCompra;
Set generator genCodItemProdutoCompra to 0;

create generator genCodItemProdutoVenda;
Set generator genCodItemProdutoVenda to 0;

create generator genCodBaixaEstoque;
Set generator genCodBaixaEstoque to 0;

:frowning: :?:

se for pgsql pode criar um campo serial ou uma sequence.
se for mysql cria um camo auto-increment
pode-se criar um generator via software tb, só tenha cuidado com os processos concorrentes.

Valew vo tentar…