当前位置:网站首页>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
边栏推荐
- Operators
- 不要再说微服务可以解决一切问题了!
- 关于vray 5.2的使用(自研笔记)(二)
- Go language-1-development environment configuration
- Go language learning notes - first acquaintance with go language
- 磨砺·聚变|知道创宇移动端官网焕新上线,开启数字安全之旅!
- Process control
- 2022 chemical automation control instrument examination questions and online simulation examination
- BOM//
- Nuxt//
猜你喜欢
Wechat nucleic acid detection appointment applet system graduation design completion (6) opening defense ppt
Basic testing process of CSDN Software Testing Introduction
Ddrx addressing principle
Lombok 同时使⽤@Data和@Builder 的坑,你中招没?
Repair animation 1K to 8K
Review the whole process of the 5th Polkadot Hackathon entrepreneurship competition, and uncover the secrets of the winning projects!
32:第三章:开发通行证服务:15:浏览器存储介质,简介;(cookie,Session Storage,Local Storage)
[JS learning notes 54] BFC mode
[Oracle] use DataGrid to connect to Oracle Database
[advertising system] incremental training & feature access / feature elimination
随机推荐
deepfake教程
Basic testing process of CSDN Software Testing Introduction
How to introduce devsecops into enterprises?
磨砺·聚变|知道创宇移动端官网焕新上线,开启数字安全之旅!
Broyage · fusion | savoir que le site officiel de chuangyu mobile end est en ligne et commencer le voyage de sécurité numérique!
Go language-1-development environment configuration
Process control
A usage example that can be compatible with various database transactions
2022 Pengcheng cup Web
Paradigm in database: first paradigm, second paradigm, third paradigm
关于 “原型” 的那些事你真的理解了吗?【上篇】
2022 mobile crane driver examination question bank and simulation examination
2022 chemical automation control instrument examination questions and online simulation examination
Codeforces Round #804 (Div. 2)
regular expression
Detailed explanation of DDR4 hardware schematic design
2022 t elevator repair operation certificate examination questions and answers
跨页面通讯
Web Components
Four departments: from now on to the end of October, carry out the "100 day action" on gas safety