Avatar billede jmp.dk Nybegynder
16. maj 2005 - 12:50 Der er 4 kommentarer og
2 løsninger

Stored procedure help

Jeg er helt nybegynder hvad stored procedures angår.
Jeg skal oprette en procedure med transact sql som skal:
samle alle id fra table test i min database (selet id from test)
og for hver id skal den hente data i en anden database på en anden server, og så opdatere den pågældende record ( by id ) i min database.
Er der en der kan lave et eksempel på hvordan det kan se ud ?
Avatar billede janus_007 Nybegynder
16. maj 2005 - 14:40 #1
Det kan jeg da. Men fortæl lidt mere om hvad de tabeller hedder og hvilken server der er tale om. Bruger du linked servers?
Avatar billede jmp.dk Nybegynder
16. maj 2005 - 14:50 #2
Min tabel hedder patient og nøglen jeg skal bruge hedder hospitalnumber.

Nej serverne er ikke linked.
Den ander server kan jeg ikke give dig navn på, men lad os kalde den serverx.
Tabellen på den remote server hedder pasdem.
I begge tabeller er der en kolonne der hedder dateofdeath og det er den kolonne jeg skal have opdateret i min tabel.
Avatar billede janus_007 Nybegynder
17. maj 2005 - 13:15 #3
Hej..
Hvis du ikke arbejder med linked servers, så må du bruge openrowset !

Inden jeg lige fortsætter så find ud af om du kan få kontakt til din remote server på denne her måde:

select top 10 * from openrowset('sqloledb', 'xxx.xxx.xxx.xxx';'uid';'password',
'select * from serverx.dbo.pasdem)

Udskift xxx med ip og uid og password med de rigtige.
Avatar billede jmp.dk Nybegynder
19. maj 2005 - 10:21 #4
Det kan jeg godt.
Avatar billede janus_007 Nybegynder
19. maj 2005 - 13:02 #5
Top!
Så skal du først oprette et view til din tabel, det kan gøres vha.

create view V_myview
as
select * from openrowset('sqloledb', 'xxx.xxx.xxx.xxx';'uid';'password',
'select * from serverx.dbo.pasdem)

--
Herefter skal du lave en update med join i, det gøres sådan her:

update test set columnname = V_myview.columnname
from test
inner join V_myview
    on V_myview.id = test.id

husk at udskifte columnname med de navne som du nu gerne vil have updated.
Avatar billede janus_007 Nybegynder
17. august 2006 - 11:10 #6
Kan du ikke lukke spørgsmålet ned?
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
Computerworld tilbyder specialiserede kurser i database-management

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