相关疑难解决方法(0)

如何"测试"修改数据的SQL查询,即在提交sql server 2008之前查看输出?

我使用过其他SQL工具,有些允许我在提交之前查看威胁查询的输出.我喜欢这个两步过程(所以我可以仔细检查一下,我没做坏事).

SQL Server 2008 R2中是否有一种方法可以"执行"查询,查看受影响行的输出,然后选择接受还是丢弃提交?

编辑:

我还发现了另一个问题,使用OUTPUT子句询问相同的答案.

如何预览破坏性SQL查询?

sql-server sql-server-2008-r2

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

在SQL Management Studio中删除/更新之前确认?

因此,连续第二天,有人已经清除了整个数据表,而不是他们试图删除的那一行,因为他们没有合格的where子句.

我一直在mgmt工作室选项上下,但找不到确认选项.我知道其他数据库的其他工具也有它.

sql-server ssms

10
推荐指数
3
解决办法
2万
查看次数

为具有ON CASCADE约束的记录预览SQL DELETE

我们有一个主'用户'表和许多引用UserId的表

  • 直接:UserId是子表OR中的FK
  • 间接地:'grandchild'表中的另一个FK引用子表中的记录,而该表又通过FK约束引用UserID.

现在,如果一切都很完美,删除用户应该像在主表中删除它们一样简单,并且ON CASCADE约束通过其余的表将它涟漪化.问题是我们不能100%确定引用的每个表中的每个FK关系(直接或间接)是否具有ON CASCADE约束.我们需要一些方法来发出删除并观察SQL Server实际触摸要删除的表.我看了这个并尝试了但它没有显示任何级联的表 - 只是主表中的条目

这是我尝试过的:

DELETE umt
OUTPUT DELETED.*
FROM [OurAppDb].[dbo].[UserMasterTable] umt
WHERE umt.UserId LIKE 'ABCDABCD-ABCD-ABCD-ABCD-ABCDABCDABCD'
Run Code Online (Sandbox Code Playgroud)

如何查看上述查询将触及的所有表格?

注意:ON CASCADE约束是我们认为在构建每个表时为每个表添加的数据库中的约束.它被添加到一个表上的示例

ALTER TABLE [dbo].[UserEmailPrefs]  
WITH CHECK ADD  CONSTRAINT [FK_UserEmailPrefs_UserMasterTable_UserId] FOREIGN KEY([UserId])
REFERENCES [dbo].[UserMasterTable] ([UserId])
ON DELETE CASCADE
GO

ALTER TABLE [dbo].[UserEmailPrefs] CHECK CONSTRAINT [FK_UserEmailPrefs_UserMasterTable_UserId]
GO
Run Code Online (Sandbox Code Playgroud)

sql-server

10
推荐指数
1
解决办法
1690
查看次数

标签 统计

sql-server ×3

sql-server-2008-r2 ×1

ssms ×1