Using concatenation of three columns
CREATE TABLE myTable( f1 varchar(10), f2 varchar(10), f3 varchar (10), Keycol as f1+f2+f3)
GO
insert into myTable values(111, 222, 333);
insert into myTable values(111, 222, 333);
insert into myTable values(aaa, bbb, ccc);
insert into myTable values(aaa, bbb, ddd);
insert into myTable values(aaa, bbb, ccc);
insert into myTable values(111, 222, 333);
Result:
f1 f2 f3 KeyCol
-----------------------------------------
111 222 333 111222333
111 222 333 111222333
aaa bbb ccc aaabbbccc
aaa bbb ddd aaabbbddd
aaa bbb ccc aaabbbccc
111 222 333 111222333
Using Checksum function
CREATE TABLE myTable( f1 varchar(10), f2 varchar(10), f3 varchar (10), Keycol as Checksum(f1+f2+f3));
insert into myTable values(111, 222, 333);
insert into myTable values(111, 222, 333);
insert into myTable values(aaa, bbb, ccc);
insert into myTable values(aaa, bbb, ddd);
insert into myTable values(aaa, bbb, ccc);
insert into myTable values(111, 222, 333);
Result:
f1 f2 f3 KeyCol
-----------------------------------------
111 222 333 1239501031
111 222 333 1239501031
aaa bbb ccc 2125954685
aaa bbb ddd 2125692521
aaa bbb ccc 2125954685
111 222 333 1239501031
Creating view for the same..
insert into myTable values(111, 222, 333);
CREATE VIEW v1 as select f1,f2,f3, Checksum(f1+f2+f3) as Keycol from myTable;
CREATE TABLE myTable( f1 varchar(10), f2 varchar(10), f3 varchar (10), Keycol as f1+f2+f3)
insert into myTable values(111, 222, 333);
Result:
f1 f2 f3 KeyCol
Using Checksum function
CREATE TABLE myTable( f1 varchar(10), f2 varchar(10), f3 varchar (10), Keycol as Checksum(f1+f2+f3));
insert into myTable values(111, 222, 333);
Result:
f1 f2 f3 KeyCol
CREATE TABLE myTable( f1 varchar(10), f2 varchar(10), f3 varchar (10));
SELECT * FROM V1;
f1 f2 f3 KeyCol