Avatar billede kxh Nybegynder
06. juni 2011 - 08:30 Der er 7 kommentarer og
1 løsning

Funktion der kan returnere bestemt datatype

Hej

Er det på en eller anden måde mulig at lave en funktion der kan returnere en værdi med forskellig datatype - det der er issuet er at jeg har en konfigurations tabel hvor data værdien står i tre forskellige kolonner afhænging af datatype, varchar, int og bit, men jeg ville jo gerne have en funktion der kunne retunere den rigtige data type så man kan undgå convert, men kan det lade sig gøre på nogen måde?

// Kim
Avatar billede arne_v Ekspert
06. juni 2011 - 14:58 #1
Nej.

Men du kan lave:
  GetConfigInt
  GetConfigVarChar
  GetConfigBit
Avatar billede kxh Nybegynder
06. juni 2011 - 17:55 #2
Hej Arne

Jeg jeg håbede der var en fiks måde at få en sp eller en funktion til at retunere værdien i den rigtige datatype men sådan skal det altså ikke være, jeg har også overvejet at lave en løsning alle den du foreslår, så ved brugeren af sp i hvertfald hvilke datatype der retuneres.
Smidt et svar så får du nogen points, og så sender vi en hilsen til Microsoft om at lave den funktion til os ;-)
Avatar billede arne_v Ekspert
06. juni 2011 - 18:02 #3
Du kan godt lave en SP med 3 OUT argumenter, hvor data gemmes i den rigtige type.

Men SP og UDF kaldes forskelligt.
Avatar billede kxh Nybegynder
06. juni 2011 - 18:08 #4
Hvad vil du mene er den bedste løsning, funktionen eller sp'en skal bruges diverse steder rundt i koden, f.eks når der skal slettes data skal den hente antal "dage tilbage" der skal gemmes, når der skal sendes mails skal den hente email adresse fra konfiguration osv osv.

pt. har jeg konfigurationen i en tabel som en single row, men det giver problemer med tilføjelser af nye properties, når man skal ud og opdatere ca. 100 sqlservere.
Avatar billede arne_v Ekspert
06. juni 2011 - 18:29 #5
SP loesningen er helt fin hvis du vil erstatte:

SELECT myudf('foobar')

med

EXEC mysp('foobar', @res)

SP loesningen duer hvis den skal ind i anden SQL:

SELECT bla bla FROM bla bla WHERE bla bla AND felt=myudf('foobar') AND bla bla
Avatar billede kxh Nybegynder
06. juni 2011 - 18:52 #6
Hej Arne

Takker, tror jeg går efter SP løsningen, den er nok den meste fleksible, og ender med en SP per datatype.

// Kim
Avatar billede arne_v Ekspert
06. juni 2011 - 19:09 #7
Pointen med SP er at du der kan lave en SP med 5 argumenter:

IN hvad der skal hentes
OUT typen paa det hentede
OUT vaerdi hvis integer
OUT vaerdi hvis varchar
OUT vaerdi hvis bit
Avatar billede arne_v Ekspert
08. august 2011 - 01:07 #8
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
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