What is wrong with just using an integer field here. There is no benefit or additional information by prefixing a number with a contant string. Strings also use ever increasing space as they grow longer and longer whereas an integer (biginteger) field will always consume the same amount of memory. Next reason not to follow you example is that building indexes from integers is easier than from strings.
The fieldname is already operationid so prefixing the field with a constant string is just a waste of space and time. If it is needed for a GUI though you can always generate that in the client side code ( or server side for ASP ). So all you have to do is use integer or biginteger for your field type and set the property Identity to yes, Start=1, Increment=1.
Using MS SQL T-SQL DDL's
CREATE TABLE[
^] statement use the optional IDENTITY clause in a column definition:
column_name <data_type>
[ COLLATE collation_name ]
[ NULL | NOT NULL ]
[
[ CONSTRAINT constraint_name ] DEFAULT constant_expression ]
| [ seed , ^__i>^__b style="color:red;">increment ) ] [ NOT FOR REPLICATION ]
]
[ ROWGUIDCOL ] [ <column_constraint> [ ...n ] ]
— Brought to you by MSDN SQL Server Reference[^]Regards,
Manfred