我正在尝试执行以下操作:
INSERT INTO stories
(vid, ip, body, timestamp)
VALUES (
(SELECT vid+1 FROM stories ORDER BY vid DESC LIMIT 1),
INET_ATON('127.0.0.1'),
'test',
NOW()
)
Run Code Online (Sandbox Code Playgroud)
但是我在弄清楚如何将 SELECT 语句的返回数据嵌套到 INSERT 语句中时遇到了问题。我需要弄清楚如何获得最高的现有 vid 并将其增加 1。
有任何想法吗?
我想将它应用于过程定义。
我的基本想法是将 nvarchar(max) 类型的字符串拆分为 nvachar(4000) 块并连接 HashBytes('MD5',chunk) 的结果。
我无法想象这还没有完成。
SERIALIZABLE事务和闪回查询之间有什么概念上的区别吗?
我开发了一个 Java 程序,它与 SQL Server 一起工作,因为它是数据库。我已经在我的 Windows 上安装了 SQL Server 2012 企业版,并通过 SQL Server Management Studio 设计了数据库;例如:我设计了它的表,设置了一个备份计划,它每 24 小时从自身进行一次备份,以及其他功能。
哪个版本的 SQL Server Express 应该安装在用户的 Windows 计算机上,这样我的程序不仅可以连接到本地数据库并使用它,而且其他被禁止的数据库功能(如备份计划)也可以使用?
数据库和 Java 程序将在同一台计算机上。
我选择数据库版本的标准是
我有工作来修剪用于历史记录和日志记录的表格,以便保持它们的整齐。我想确保我不会忽略日志文件。
我可以或应该怎么做以及如何检查日志文件?
我每晚运行的 sql 脚本是:
declare @DBname varchar(500)
set @DBname = 'E:\Database\backup\PMIS_backup_'+ convert(varchar(MAX), getdate(), 23 ) +'.bak'
BACKUP DATABASE [PMIS] TO DISK = @DBname
WITH NOFORMAT, NOINIT, NAME = @DBname
, SKIP, REWIND, NOUNLOAD, STATS = 10
Run Code Online (Sandbox Code Playgroud)
(恢复方式很简单)
我注意到最近很多数据库工作/开发都被推到了一般开发人员身上,更不用说 NoSQL 解决方案(对于非 DBA 来说,IMO 可能更容易组合在一起)即将推出。您是否觉得 DBA/DBD(数据库开发人员)是 CS 毕业生进入的安全领域。此外……您是否觉得一般的数据库仍然像他们所说的那样流行……5-10 年前?
作为参考,我现在确实有一份开发人员的工作,但数据库一直是我感兴趣的东西。
我知道他们有一个职业溢出站点,但我更愿意将它保留在这里,因为它专门针对数据库开发/管理。
谢谢
据我所知,无论使用哪种隔离级别,SQL Server 在事务期间都会持有 X 锁。U锁呢?如果一个事务在 UPDATE 语句中读取了 100 条记录(U 锁)但只更新了 10 条记录,那么在更新完成后,如果 tran 仍然打开,我们会得到 90-U 和 10-X 吗?
回应以下大卫的回答:不,这些情况不相关(感谢您的回答!)。我无法发布代码,因为我手头没有电脑,但我将尝试简要描述这种情况。我有一堆。我更新了,更新了10条记录。问:我们会在 ... 点有任何 U 锁,还是在获得 X 锁后释放它们?谢谢!
Begin tran;
Update t
Set b = 10
Where a = 1;
...
Run Code Online (Sandbox Code Playgroud) select case 'NULL' when 'NULL' then 'f' end as out
Run Code Online (Sandbox Code Playgroud)
输出:f
但
select case (select (SELECT LEFT(l.list,LEN(l.list)-1)
FROM
(SELECT o.Reciting_Path + '|' + o.Declaimer +',' AS [text()]
FROM Poetry_Reciting AS o
where o.Poetry_Id=6764
FOR XML PATH(''))l(list)) ) when 'NULL' then 'N' end as dd
Run Code Online (Sandbox Code Playgroud)
应该只返回NULL并且 NULL 是正确的,但 case 语句不起作用。
我想要输出中的“N”