Thursday, 15 April 2010

sql - Creating Integer Primary key value using the following query -



sql - Creating Integer Primary key value using the following query -

discuss next sql query respect performance in application involving more number of concurrent users creating , deleting records. objective create continuous primary key integer values.

table name: sitepage column datatype --------- ----------- pageid bigint pagename nchar(10)

query insert new record

declare @intflag int set @intflag = 0 while (@intflag =0) begin begin seek insert sitepage (pageid, pagename) values ((select max(pageid)+1 sitepage), concat('page id : ', (select max(pageid)+1 sitepage))); set @intflag = @@rowcount end seek begin grab set @intflag=0 end grab end go we don't want utilize auto increment integer value primary key because of next reason we don't want utilize sequence we can't trace flag 272

you should never utilize "select max()+1" unique id. number 1 reason concurrent users, value has absolutely no guarantee of beingness unique - 2 users running anywhere close simultaneously can end same value. don't it. ever. that's why things auto-number , sequences exist.

sql sql-server

No comments:

Post a Comment