Efter mange tanker skrev Leif Neland:
> tsql, MSsqlserver 2008R2
>
> I forbindelse med mit seo-halløj:
> Jeg vil gerne have defaultværdien af feltet seourl til at være den beregnede
> værdi '?katid='+cat(id as nvarchar(8))
>
> Men feltet får bare teksten "'?katid='+cat(id as nvarchar(8))"
>
> Kan jeg ikke få en beregnet værdi som default?
>
Det ser ikke sådan ud.
Jeg prøver med en udf:
alter table t_produkter add constraint cn_seourl default
(dbo.newSeoUrl(id,titel)) for seourl
Msg 128, Level 15, State 1, Line 1
The name "id" is not permitted in this context. Valid expressions are
constants, constant expressions, and (in some contexts) variables.
Column names are not permitted.
Så jeg må prøve med en trigger i stedet.
Jeg mener ikke der bruges at indsætte flere rækker på een gang, hvilket
skulle kunne give problemer med det unikke index, fordi triggeren først
udløses når alle rækker er udført, ikke een gang for hver gang der
indsættes en række. Jeg formoder fordi en multirække-insert er atomisk.