Avatar billede touel Nybegynder
26. maj 2005 - 09:53 Der er 14 kommentarer og
1 løsning

Java og SQL

Hvordan kan jeg i java lave en funktion hvori jeg vha. SQL kan lave en statement, som laver en tæller der automatisk tæller en op. Tælleren skal tælle en op, når en ny række sættes ind. Tælleren skal være synlig, så jeg kan se hvor mange rækker jeg er oppe på.
Avatar billede arne_v Ekspert
26. maj 2005 - 09:59 #1
1)  kan auto_increment/identity/autonumber bruges ?

2)  kan insert trigger bruges ?

3)  worst case må være en simpel UPDATE t SET f=f+1
Avatar billede touel Nybegynder
26. maj 2005 - 10:04 #2
jeg fik at vide af en at man kunne bruge noget med en SEQUENCE ????
Avatar billede fsconsult.dk Nybegynder
26. maj 2005 - 10:05 #3
ja, hvis du bruger Oracle som database ... :-)
Avatar billede touel Nybegynder
26. maj 2005 - 10:07 #4
det gør jeg
Avatar billede arne_v Ekspert
26. maj 2005 - 10:08 #5
Oracle og PostgrSQL bruger sequence (som kan bruges til det samme som
auto_increment/identity/autonumber)
Avatar billede arne_v Ekspert
26. maj 2005 - 10:09 #6
der er masser af eksempler på nettet

f.eks. http://www.techonthenet.com/oracle/sequences.htm
Avatar billede touel Nybegynder
26. maj 2005 - 10:11 #7
jeg bruger TOAD i forb. med oracle. Hvor i TOAD finder jeg auto_increment...har ellers lige kigget det hele igennem
Avatar billede arne_v Ekspert
26. maj 2005 - 10:13 #8
oracle bruger ikke auto_increment - de har netop valgt sequence - se f.eks.
link ovenfor
Avatar billede touel Nybegynder
26. maj 2005 - 10:14 #9
Umiddelbart ser denne hjm side meget interessant ud... jeg afprøver det lige i min kode
Avatar billede touel Nybegynder
26. maj 2005 - 10:22 #10
Må man gerne skrive det således op:

    "INSERT INTO csv_file "
              + "("
              + " CSV_FILE_ID,"
              + " FILENAME,"
              + " LOADTIME, " 
              + ")"
              + " VALUES "
              + "("
              + "'"  + CREATE SEQUENCE csv_file_id
                      MINVALUE 1
                      MAXVALUE 999999999999999999999999999
                      START WITH  1
                      INCREMENT BY  1
                      CACHE 20; +"',"
              + "'"  + showReadExcel.pathname +"'),"
              + " sysdate,"
              +")");
Avatar billede arne_v Ekspert
26. maj 2005 - 10:24 #11
nej

CREATE SEQUENCE en gang ligesom CREATE TABLE

brug så den sequence til INSERT
Avatar billede touel Nybegynder
26. maj 2005 - 10:31 #12
aha

burde jeg create sequence i en funktion for sig og så kalde den under INSERT ???
Avatar billede touel Nybegynder
26. maj 2005 - 10:32 #13
jeg bruger MEGET sjælden SQL, så det er derfor jeg stiller dumme spg.
Avatar billede arne_v Ekspert
26. maj 2005 - 10:35 #14
CREATE SEQUENCE laves du når de definerer din database

samtidigt med CREATE TABLE

den skal kun laves en gang og så kan du bruge den en million gange
Avatar billede arne_v Ekspert
24. juli 2005 - 16:50 #15
OK ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester