小编Ej.*_*Ej.的帖子

406
推荐指数
9
解决办法
12万
查看次数

你能限制(数据库)表中的行数吗?

我们有一个数据库(SQL Server 2005),我们希望在源代码管理下获得它.作为其中的一部分,我们将有一个版本表来存储数据库的当前版本号.有没有办法将该表限制为只保留一行?或者将版本号存储在表中是个坏主意?

结束使用这种方法:

CREATE TABLE [dbo].[DatabaseVersion]
    (
        [MajorVersionNumber] [int]  NOT NULL,
        [MinorVersionNumber] [int]  NOT NULL,
        [RevisionNumber] [int]  NOT NULL
    )
GO

Insert DataBaseVersion (MajorVersionNumber,  MinorVersionNumber,  RevisionNumber) values (0, 0, 0)
GO

CREATE TRIGGER DataBaseVersion_Prevent_Delete
ON DataBaseVersion INSTEAD OF DELETE
AS
BEGIN
    RAISERROR ('DatabaseVersion must always have one Row. (source = INSTEAD OF DELETE)', 16, 1) 
END
GO

CREATE TRIGGER DataBaseVersion_Prevent_Insert
ON DataBaseVersion INSTEAD OF INSERT
AS
BEGIN
    RAISERROR ('DatabaseVersion must always have one Row. (source = INSTEAD OF INSERT)', …
Run Code Online (Sandbox Code Playgroud)

sql-server

4
推荐指数
2
解决办法
4843
查看次数

捕获组如何工作?(wrt python正则表达式)

在使用正则表达式帮助解决Python挑战中的问题时,我遇到了一些使我感到困惑的行为.

这里:

(...)匹配括号内的正则表达式.

'+'使得结果RE匹配前一个RE的1次或更多次重复.

所以这是有道理的:

>>>import re
>>>re.findall(r"(\d+)", "1111112")
['1111112']
Run Code Online (Sandbox Code Playgroud)

但这不是:

>>> re.findall(r"(\d)+", "1111112")
['2']
Run Code Online (Sandbox Code Playgroud)

我意识到当正则表达式中存在组时,findall只返回组,但为什么只返回'2'?比赛中所有1的发生了什么?

python regex

2
推荐指数
1
解决办法
692
查看次数