
April 27th, 2004, 04:57 PM
|
 |
SQL Consultant
|
|
Join Date: Feb 2003
Location: Toronto Canada
|
|
no, it isn't
Code:
create table testdefault1
( id integer not null primary key identity
, df integer not null default 42
, vf integer not null default 937
)
create table testdefault2
( id integer not null primary key identity
, df integer not null default 42
, vf integer not null default 937
, xx integer not null default (df * 10) + (vf * 10)
)
Error: The name 'df' is not permitted
in this context. Only constants, expressions, or variables
allowed here. Column names are not permitted.
(State:37000, Native Code: 80)
use a view instead
Code:
create table testdefault3
( id integer not null primary key identity
, df integer not null default 42
, vf integer not null default 937
)
insert into testdefault3 ( df, vf ) values ( 3, 9 )
insert into testdefault3 ( df, vf ) values ( 3, 7 )
insert into testdefault3 ( df, vf ) values ( 9, 3 )
insert into testdefault3 ( df, vf ) values ( 0, 7 )
create view testdefault3view
as
select df, vf, (10*df)+(10*vf) as xx
from testdefault3
select * from testdefault3view
df vf xx
3 9 120
3 7 100
9 3 120
0 7 70
|