sqlserver取序号,sql server序号列

delphi sqlserver 序号问题

一种方式就是huyahuya09说的直接从表里按序取可用的,但是如果这么做当数据量大时可能效率会比较低,建议增加一个废号表,废号表可以同时存储名称和序号,新增数据时首先检查废号表是否有记录,有则使用,否则取原表序号最大号+1;这样应该同时也能解决问题补充的要求了

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的朝天网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

SQL server 2012 数据库 序列号查看

一、序列号保存在哪

不要被ProductCode迷惑,就算只安装了SQL Server客户端,注册表里也会有这个键值,并不是序列号,DigitalProductID才是,但经过了Base24编码,需要解码才行。

可以看到,对于不同版本,注册表的路径不一样,但是键是一致的。

Express版是免费的,没有序列号,从而注册表也没DigitalProductID这个键。

二、如何解码序列号

利用Powershell 解码

以下powershell函数用于解码/找回SQL Server序列号,在SQL Server 2008, 2008 R2实例上测试通过:

SQL Server 2012序列号里字符的格式发生了变化, data.uValue)[0..16] 不同于SQL Server 2008的 data.uValue)[52..66],同时别忘了改下注册表路径$regPath = "SOFTWARE\Microsoft\Microsoft SQL Server\110\Tools\Setup",修改后如下,在SQL Server 2012实例上测试通过:

调用powershell函数并输出序列号

打开powershell,把上面的函数贴进去,回车,输入Get-SQLServerKey 并回车;

或者把上面的函数存为.ps1文件直接引用:

输出结果如下:

根据powershell 脚本翻译成的Python base24 解码函数:

sqlserver中怎么将表中的两列值分别给出序号呢?如图片所示。在线等。。。谢谢!

sql2005及以上版本可用

CREATE TABLE test([year] VARCHAR(4),[month] VARCHAR(10))

INSERT INTO dbo.test

( year, month )

SELECT 2014,'jh10-qh'

UNION ALL

SELECT 2014,'jh10-qh1'

UNION ALL

SELECT 2014,'jh74-qh'

UNION ALL

SELECT 2013,'jh74-qh1'

UNION ALL

SELECT 2013,'jh72-qh3'

SELECT *,dense_rank() OVER(ORDER BY year DESC) id,ROW_NUMBER() OVER(PARTITION BY year ORDER BY year) id1

FROM dbo.test

ORDER BY year desc

结果:

2014 jh10-qh 1 1

2014 jh10-qh1 1 2

2014 jh74-qh 1 3

2013 jh72-qh3 2 1

2013 jh74-qh1 2 2


文章标题:sqlserver取序号,sql server序号列
本文地址:http://scyanting.com/article/dsdhsje.html