Trigger de incremento no código do cliente!!
09/09/2009
0
Olá amigos do fórum. Sou inciante neste maravilhoso banco de dados, tendo, a princípio, mais conhecimento dem firebird. Estou desenvolvendo uma aplicação a pedido de um cliente usando o banco de dados SQL SERVER EXPRESS EDITION 2005 com MANAGEMENT STUDIO, e não sei como gerar um incremento para a chave primária CODCLI int not null.
No firebird, uso a trigger assim:
set term^;
create trigger seqcli for tb_cli
active before insert position 0
as
declare variable seq integer;
begin
select max(codcli) from tb_cli into seq;
if (seq is null) then seq = 0;
seq = seq+1;
new.codcli = seq
end^
set term;^
gostaria de saber como faço isso no Sql Server. De preferência, usando o mesmo princípio da trigger acima do firebird, sem usar StoredProcedure ou Recursos atribuidos ao proprio banco com Campo autoincremento.
Grato a todos,
obrigado pela ajuda atencipadamente!!
No firebird, uso a trigger assim:
set term^;
create trigger seqcli for tb_cli
active before insert position 0
as
declare variable seq integer;
begin
select max(codcli) from tb_cli into seq;
if (seq is null) then seq = 0;
seq = seq+1;
new.codcli = seq
end^
set term;^
gostaria de saber como faço isso no Sql Server. De preferência, usando o mesmo princípio da trigger acima do firebird, sem usar StoredProcedure ou Recursos atribuidos ao proprio banco com Campo autoincremento.
Grato a todos,
obrigado pela ajuda atencipadamente!!
Maxymus
Curtir tópico
+ 0
Responder
Posts
10/09/2009
Brainrj
eu sempre uso o autoincremento...
mas como vc quer fazer sem... uma solução seria
não tenho muita pratica em sql server talvez tenha uma forma mais facil de fazer isso
mas como vc quer fazer sem... uma solução seria
declare @cod int; set @cod = (select case when max(cod) is null then 0 else max(cod)+1 end from teste); insert into teste(cod,nome)values(@cod,´eric´);
não tenho muita pratica em sql server talvez tenha uma forma mais facil de fazer isso
Responder
10/09/2009
Renato Tavares
Olá, Boa Tarde..!! 8)
No SQL Server, você deve utilizar a função IDENTITY, veja: :wink:
DROP TABLE #TESTE
CREATE TABLE TESTE (CODIGO NUMERIC(3) IDENTITY (1,1) CONSTRAINT PK_AG PRIMARY KEY,
NOME VARCHAR(20))
INSERT INTO TESTE VALUES (´RENATO´)
INSERT INTO TESTE VALUES (´RENAN´)
INSERT INTO TESTE VALUES (´JORGE´)
SELECT *FROM TESTE
No SQL Server, você deve utilizar a função IDENTITY, veja: :wink:
DROP TABLE #TESTE
CREATE TABLE TESTE (CODIGO NUMERIC(3) IDENTITY (1,1) CONSTRAINT PK_AG PRIMARY KEY,
NOME VARCHAR(20))
INSERT INTO TESTE VALUES (´RENATO´)
INSERT INTO TESTE VALUES (´RENAN´)
INSERT INTO TESTE VALUES (´JORGE´)
SELECT *FROM TESTE
Responder
Clique aqui para fazer login e interagir na Comunidade :)