SQL Server 2008 VarChar-kolom bijwerken met een UDF?

Ik heb een scalaire functie die een twee variabelen @ input1 @ input2 nodig heeft en deze retourneert de waarde van @ input1 en @ input2 (actueel ding is complexer maar dit destilleert het idee).

Ik wil alle rijen in een tabelkolom bijwerken met deze functie, de waarde 'abc' voor @ input1 doorgeven en de kolomnaam in @ input2 gebruiken, dus mijn update-statement ziet er ongeveer zo uit:

update mytable set mycolumn = (select dbo.myfunc( 'abc ' , mycolumn ) )
-- prepend the literal 'abc ' to every row for column mycolumn

Maar dit is natuurlijk niet toegestaan.

Ik probeer een aantal massareeksafhandeling uit te voeren op een aantal kolommen op basis van een aantal stringregels. Alle ideeën op prijs gesteld.

Bedankt.

2
Waarom denk je dat de syntaxis in je vraag niet is toegestaan? Het zou goed moeten werken hoewel het antwoord van Joe eenvoudiger is.
toegevoegd de auteur Martin Smith, de bron

1 antwoord

UPDATE mytable
    SET mycolumn = dbo.myfunc('abc', mycolumn)
4
toegevoegd