SQL Server数据表字段自定义自增数据格式的方法
本文实例讲述了SQL Server数据表字段自定义自增数据格式的方法。分享给大家供大家参考,具体如下:
--修改数据表SYS_Company中字段CompanyId自定义自增约束 ALTER TABLE [dbo].[SYS_Company] Add Constraint DF_SYS_Company_CompanyId DEFAULT ([dbo].[f_PrimaryCode_SYS_Company]()) FOR [CompanyId] --Go --删除约束 Alter table SYS_LogInfo Drop Constraint DF_SYS_Company_CompanyId --创建数据表SYS_Company中字段CompanyId自定义自增约束(形如:CY00000001,长度为位,前两位为自定义编号,后位为流水号) Create function [dbo].[f_PrimaryCode_SYS_Company]() Returns Char(10) As Begin RETURN(SELECT 'CY'+RIGHT(100000001+ISNULL(RIGHT(MAX(CompanyId),8),0),8) FROM SYS_Company WITH(XLOCK,PAGLOCK)) End
效果如图所示:
希望本文所述对大家SQL Server数据库程序设计有所帮助。
相关推荐
-
SQL Server 中调整自增字段的当前初始值
前几天在把一个Communtiy Server 的数据库从SQL 2000升级到SQL 2005 的时候,碰到一个怪异的问题,报如下错误: Violation of PRIMARY KEY constraint 'PK_cs_Threads'. Cannot insert duplicate key in object 'dbo.cs_Threads'. 分析进去后,竟然发现这个表的自增字段数据库中已经达到了6144,而数据库维护的这个表的初始自增值只到6109. 解决方法很简单,利用以下SQL
-
sqlserver2005自动创建数据表和自动添加某个字段索引
创建数据表的SQL语句如下: string tatlename = "T_useruid";//定义一个变量.用于自动创建数据表的名称,当前表名为:T_useruid string sql = "CREATE TABLE [dbo].[" + tatlename + "]([Cid] [int] IDENTITY(1,1) NOT NULL,[Uid] [nchar](32) COLLATE Chinese_PRC_CI_AS NULL,CONSTRAIN
-
SQL SERVER 自增列
declare @Table_name varchar(60) set @Table_name = ''; if Exists(Select top 1 1 from sysobjects Where objectproperty(id, 'TableHasIdentity') = 1 and upper(name) = upper(@Table_name) ) select 1else select 0 -- or if Ex
-
Oracle 实现类似SQL Server中自增字段的一个办法
相关代码如下: 1. 创建sequence: 复制代码 代码如下: CREATE SEQUENCE SEQU_DATA_DATAINFO INCREMENT BY 1 START WITH 1 NOCYCLE NOCACHE NOORDER; 2. 创建触发器: 复制代码 代码如下: create or replace TRIGGER TRIG_TEST BEFORE INSERT ON TABLE1 FOR EACH ROW DECLARE tmpVar NUMBER; BEGIN tmpVa
-
SQL Server设置主键自增长列(使用sql语句实现)
1.新建一数据表,里面有字段id,将id设为为主键 复制代码 代码如下: create table tb(id int,constraint pkid primary key (id)) create table tb(id int primary key ) 2.新建一数据表,里面有字段id,将id设为主键且自动编号 复制代码 代码如下: create table tb(id int identity(1,1),constraint pkid primary key (id)) create
-
SQL Server修改标识列方法 如自增列的批量化修改
通过界面设计上是能手工操作的,无法达到我批量修改几千台服务器. 因为此了一个脚本来批量执行. 环境:redgate + mssql 2008 r2 以下代码根据自己的业务稍做修改即使用. 复制代码 代码如下: --允许对系统表进行更新 exec sp_configure 'allow updates',1 reconfigure with override GO --取消标识列标记 update syscolumns set colstat = 0 where id = object_id('t
-
SQL Server 2008怎样添加自增列实现自增序号
在做<机房收费系统>的时候,有的表需要添加自增列,在添加新纪录时自动添加一个序号.下面我给大家介绍两种添加方法: 一.通过T-SQL代码. 复制代码 代码如下: alter table 表名 add 列名 int IDENTITY(1,1) NOT NULL 这里用到了identity关键字:indentity(a,b),a b均为正整数,a表示开始数,b表示步长,indentity(1,1)就代表从1开始,每次增加1 二.通过企业管理器 打开对象资源管理器,新建表,如下图 插入列,设置列属
-
SqlServer Mysql数据库修改自增列的值及相应问题的解决方案
SQL Server 平台修改自增列值 由于之前处理过sql server数据库的迁移工作,尝试过其自增列值的变更,但是通过SQL 语句修改自增列值,是严格不允许的,直接报错(无法更新标识列 '自增列名称').sql server我测试是2008.2012和2014,都不允许变更自增列值,我相信SQL Server 2005+的环境均不允许变更字段列值. 如果非要在SQL Server 平台修改自增列值的,那就手动需要自增列属性,然后修改该列值,修改成功后再手动添加自增列属性.如果在生成环境修改
-
SQL Server 打开或关闭自增长
在往数据库表中添加一行的时候,要针对自增列插入一个特定值的时候,这个函数就很有用了,比如表结构如: id | text 1 | a 2 | b 4 | d 其中id列是自曾列,如果我们要插入3 | c的话,如果没有打开自增列,肯定是插不进去的,这时候用这个函数就有作用了 复制代码 代码如下: SET IDENTITY_INSERT [Recursive] ON INSERT INTO [Recursive](id,text) VALUES(3,'c') SET
-
SQL Server数据表字段自定义自增数据格式的方法
本文实例讲述了SQL Server数据表字段自定义自增数据格式的方法.分享给大家供大家参考,具体如下: --修改数据表SYS_Company中字段CompanyId自定义自增约束 ALTER TABLE [dbo].[SYS_Company] Add Constraint DF_SYS_Company_CompanyId DEFAULT ([dbo].[f_PrimaryCode_SYS_Company]()) FOR [CompanyId] --Go --删除约束 Alter table SY
-
Python SqlAlchemy动态添加数据表字段实例解析
本文研究的主要是Python SqlAlchemy动态添加数据表字段,具体如下. 我们知道使用SqlAlchemy创建类来映射数据表,类属性等于数据库字段,但有时候要在我们创建表的时候,不确定数据表字段数量,遇到这种情况,应如何解决? 先看常规用法 from sqlalchemy import create_engine,Column,String,Integer class Mybase(Base): #表名 __tablename__ ='mycars' #字段,属性 myid=Column
-
SQL Server数据迁移至PostgreSQL出错的解释以及解决方案
问题重现: 1.PG客户端: postgres=# create table text_test (id int,info text); CREATE TABLE postgres=# insert into text_test values (1,E'\0x00'); ERROR: invalid byte sequence for encoding "UTF8": 0x00 2.SQL Server产生数据 create table test_varchar(id int,name
-
SQL Server数据复制到的Access两步走
我们今天主要向大家讲述的是把SQL Server数据复制到的Access数据库中的实际操作步骤,把SQL Server数据库中的某些数据复制到的Access数据库中,其表的主要结构是相同的,不要提用openrowset,因为Access文件和SQL Server不在一台机器上. 初步的想法是用两个recordset,一个从SQL取数据,一个往Access里面插入数据 因为表的字段比较多,所以只好用一个循环 while (!m_pRecordset_sql->adoEOF) { m_pRecord
-
Sql Server数据把列根据指定内容拆分数据的方法实例
今天由于工作需要,需要把数据把列根据指定的内容拆分数据 其中一条数据实例 select id , XXXX FROM BIZ_PAPER where id ='4af210ec675927fa016772bf7dd025b0' 拆分方法: select t3.id ,t3.XXXX as XXXX from ( select A.id , B.XXXX from ( SELECT id, XXXX = CONVERT(xml,'<root><v>' + REPLACE(XXXX
-
通过Python实现对SQL Server 数据文件大小的监控告警功能
1.需求背景 系统程序突然报错,报错信息如下: The transaction log for database '@dbname' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases 此时查看log文件,已达2T. 当时的紧急处理方案是,移除掉镜像,修改数据库恢复模式(由full修改为simple),收缩日志. 为了防止类似
-
Navicat连接SQL Server数据:报错08001-命名管道提供程序的完美解决方法
新安装了SQL server用Navicat进行连接时出现下面的问题 首先用SQL server自带的GUI用windows认证的方式进入,重新配置了登录名和登录密码分别为CDSS和CDSS,之后直接采用此登录名和登录密码发现还是连不上,后来的解决办法是,把服务重新启动一下. 修改配置登录名后需要重启一下服务?好像有那么点道理,注意是重启服务而不仅仅是重启GUI. mark一下服务列表的打开路径:开始→控制面板→系统和安全→管理工具→服务 还有一个是SQL server配置管理器,打开网络配置,
-
SQL Server数据表压缩
概述 SQL Server的主要性能取决于磁盘I/O效率,SQL Server .2008提供了数据压缩功能来提高磁盘I/O效率.表压缩意味着减小数据的磁盘占有量,所以压缩可以用在堆表.聚集索引的表.非聚集索引的表.索引视图.分区表上. 可压缩的数据类型 smallint.int.Bigint.decimal.numeric.real.float.money.smallmoeny.bit.datetime.datetime2.datetimeoffset.char.nchar.binary.ro
-
SQL Server 数据文件收缩和查看收缩进度的步骤
目录 回收步骤: 1.查看日志文件大小[一般回收比较大的] 2.查看日志文件空间是否可回收[只有log_reuse_wait_desc是NOTHING状态才可回收] 3.回收日志文件空间 4.查看数据文件大小 5.收缩数据文件[按照经验,最好每5G循环收缩,如果影响业务,随时中断,不会回滚] 6.查看收缩进度[预估值] SQL Server在删除数据后,会重新利用这部分空间,所以如果不是空间紧张的情况下,可以不回收. 回收一般先回收日志文件,因为这个回收速度非常快,可以短时间内清理出一部分可用空
-
sql server通过脚本进行数据库压缩全备份的方法【推荐】
问题: 生产环境的数据库可能比较大,如果直接进行全备而不压缩的话,备份集就会占用了大量磁盘空间.给备份文件的存放管理带来不便. 解决方案: 通过with compression显式启用备份压缩,指定对此备份执行备份压缩,覆盖服务器级默认设置.适用于 SQL Server 2008和更高版本. 因为相同数据的压缩的备份比未压缩备份小,所以压缩备份所需的设备 I/O 通常较少,因此通常可大大提高备份速度. 脚本: /* 说明:手动修改[DB名称].要备份到的[路径和文件名],再执行脚本 脚本来源:h
随机推荐
- javascript的console.log()用法小结
- 代理猎手验证数据的设置方法
- oracle 11g配置 解决启动连接数据库出现的ora错误
- js获取当前地址 JS获取当前URL的示例代码
- javascript中不提供sleep功能如何实现这个功能
- PHP分页函数代码(简单实用型)
- C#实现闪动托盘图标效果的方法
- php中一个有意思的日期逻辑处理
- Flex上传本地图片并提前浏览的实现方法
- Mysql 5.6添加修改用户名和密码的方法
- 可折叠展开的简单目录实现代码
- C++基础入门教程(三):数组、字符串、结构体、共用体
- 路由器配置新手上路---路由器的组成
- 原生JS实现的双色球功能示例
- vue.js,ajax渲染页面的实例
- Angular6中使用Swiper的方法示例
- springboot整合微信支付sdk过程解析
- Laravel框架之解决前端显示图片问题
- Android实现仿Windows7图片预览窗格效果
- Spring容器添加组件方式实现