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