当前位置:网站首页>TSQL – identity column, guid, sequence
TSQL – identity column, guid, sequence
2022-07-05 11:09:00 【Full stack programmer webmaster】
–1. IDENTIY Column cannot be empty , Default value cannot be set , Cannot use after creation ALTER TABLE TableName ALTER COLUMN modify , Each table can only have one auto increment column –2. Check the current value :SELECT IDENT_CURRENT(‘TableName’), — View incremental values :SELECT IDENT_INCR(‘TableName’) — View the original seed value :SELECT IDENT_SEED(‘TableName’), Starting value , TRUNCATE TABLE Initial value after . –3. allow Explicit Insert auto increment column :SET IDENTITY_INSERT TableName ON; Set to ON after , Allow the current callback to specify a value when inserting the auto increment column , This setting only affects the current reply , And only one table can be modified at the same time in the same reply IDENTITY_INSERT attribute , When you set other tables again, you will be prompted :” surface ‘XXX1’ Of IDENTITY_INSERT Have been to ON. Can't check the table ‘XXX2’ perform SET operation .“, After explicitly inserting values for auto incrementing columns , The current value of the auto increment column will be checked or modified to be the maximum value in the whole table . –4. IDENT_CURRENT Not limited by scope and session , And limited to the specified table . SCOPE_IDENTITY and @@IDENTITY Returns the last identity value generated in any table in the current session . however ,SCOPE_IDENTITY Returns only the values inserted into the current scope ;@@IDENTITY Not limited to a specific scope [email protected]@IDENTITY You can get the trigger triggered by the current statement , Built in stored procedures and other inverted self increment . – As for the watch T1 Insert trigger pair table T2 Also insert ,@@IDENTITY obtain T2 Since the appreciation , and SCOPE_IDENTITY Get the current scope T1 Since the appreciation .
–4. If the required value is unique in all tables , have access to UNIQUEIDENTIFIER, Use NEWID() To get the unique value . –5. To avoid GUID Page fragments and page splits as clustered indexes , have access to NEWSEQUENTIALID() To get self increasing GUID: — CREATE TABLE myTable (ColumnA uniqueidentifier DEFAULT NEWSEQUENTIALID()) — If you consider security and confidentiality , Recommendation not applicable NEWSEQUENTIALID() –6. NEWSEQUENTIALID() Only for tables DEFAULT To achieve . Use NEWSEQUENTIALID() Each of the generated GUID It is unique on this computer . Only if the source computer has a network card , Use NEWSEQUENTIALID() Generated –GUID It is the only one on multiple computers –7. Sequence ,2012 New characteristics , Database level objects , Increase automatically after each acquisition . –============================================= – Create sequence CREATE SEQUENCE [schema_name . ] sequence_name [ AS [ built_in_integer_type | user-defined_integer_type ] ] [ START WITH <constant> ] [ INCREMENT BY <constant> ] [ { MINVALUE [ <constant> ] } | { NO MINVALUE } ] [ { MAXVALUE [ <constant> ] } | { NO MAXVALUE } ] [ CYCLE | { NO CYCLE } ] [ { CACHE [ <constant> ] } | { NO CACHE } ] [ ; ] –============================================= – Get sequence NEXT VALUE FOR [ database_name . ] [ schema_name . ] sequence_name [ OVER (<over_order_by_clause>) ] –============================================= – Get the sequence value of the range sp_sequence_get_range [ @sequence_name = ] N'<sequence>’ , [ @range_size = ] range_size , [ @range_first_value = ] range_first_value OUTPUT [, [ @range_last_value = ] range_last_value OUTPUT ] [, [ @range_cycle_count = ] range_cycle_count OUTPUT ] [, [ @sequence_increment = ] sequence_increment OUTPUT ] [, [ @sequence_min_value = ] sequence_min_value OUTPUT ] [, [ @sequence_max_value = ] sequence_max_value OUTPUT ] [ ; ]
–============================================= – Create an initial value of 1 Increasing 1 Sequence CREATE SEQUENCE dbo.mySquence AS INT INCREMENT BY 1 START WITH 1
–============================================= – Get next value SELECT NEXT VALUE FOR dbo.mySquence –============================================= – Use the table to sort and get the auto increment sequence SELECT NEXT VALUE FOR dbo.mySquence OVER (ORDER BY C2) AS RID, C2 FROM [dbo].[TB4] –============================================= – It can be listed in DEFAULT Use sequences in ALTER TABLE Test.MyTable ADD DEFAULT N’AdvWorks_’ + CAST(NEXT VALUE FOR Test.CounterSeq AS NVARCHAR(20)) FOR IDColumn;
–============================================ – obtain 4 A continuous increasing sequence , And return the minimum DECLARE @range_first_value sql_variant , @range_first_value_output sql_variant ;
EXEC sp_sequence_get_range @sequence_name = N’dbo.mySquence’ , @range_size = 4 , @range_first_value = @range_first_value_output OUTPUT ;
SELECT @range_first_value_output AS FirstNumber ;
–===================================== – View the auto increment column in the current database SELECT * FROM sys.identity_columns
Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/109933.html Link to the original text :https://javaforall.cn
边栏推荐
- deepfake教程
- 2022 t elevator repair operation certificate examination questions and answers
- regular expression
- Share Net lightweight ORM
- About the use of Vray 5.2 (self research notes) (II)
- LSTM applied to MNIST dataset classification (compared with CNN)
- 四部门:从即日起至10月底开展燃气安全“百日行动”
- 【DNS】“Can‘t resolve host“ as non-root user, but works fine as root
- PWA (Progressive Web App)
- 数据库三大范式
猜你喜欢

Go-3-the first go program
![[JS learning notes 54] BFC mode](/img/47/a07084ef6064589d2eeb6f091753e0.png)
[JS learning notes 54] BFC mode

R3Live系列学习(四)R2Live源码阅读(2)

How to close the log window in vray5.2

Review the whole process of the 5th Polkadot Hackathon entrepreneurship competition, and uncover the secrets of the winning projects!

Implement the rising edge in C #, and simulate the PLC environment to verify the difference between if statement using the rising edge and not using the rising edge

购买小间距LED显示屏的三个建议

【Oracle】使用DataGrip连接Oracle数据库

Question bank and answers of special operation certificate examination for main principals of hazardous chemical business units in 2022

谈谈对Flink框架中容错机制及状态的一致性的理解
随机推荐
第五届 Polkadot Hackathon 创业大赛全程回顾,获胜项目揭秘!
PWA (Progressive Web App)
基于昇腾AI丨以萨技术推出视频图像全目标结构化解决方案,达到业界领先水平
Go语言-1-开发环境配置
华为设备配置信道切换业务不中断
MFC pet store information management system
Wechat nucleic acid detection appointment applet system graduation design completion (7) Interim inspection report
Question bank and answers of special operation certificate examination for main principals of hazardous chemical business units in 2022
Scaffold development foundation
Four departments: from now on to the end of October, carry out the "100 day action" on gas safety
Explanation of message passing in DGL
Node の MongoDB Driver
磨砺·聚变|知道创宇移动端官网焕新上线,开启数字安全之旅!
Web Components
Go project practice - parameter binding, type conversion
Lombok 同时使⽤@Data和@Builder 的坑,你中招没?
[JS learning notes 54] BFC mode
Paradigm in database: first paradigm, second paradigm, third paradigm
Web Components
使用GBase 8c数据库过程中报错:80000305,Host ips belong to different cluster ,怎么解决?