What is the difference between these scripts?
ALTER TABLE Post_Send WITH NOCHECK CHECK CONSTRAINT [My_FOREIGN_KEY];
GO
ALTER TABLE Post_Send CHECK CONSTRAINT [My_FOREIGN_KEY];
GO
Run Code Online (Sandbox Code Playgroud) 我试图为我拥有的每个表获取最大值MAX(ID),其中包含我的数据库“Table_Example”上的 ID和一个特定的 schema_name。
一个例子:
SELECT MAX(ID) FROM Schema_name.Table_name1
Run Code Online (Sandbox Code Playgroud)
这将检索位于 Table_name1 上的最大 ID 值,但我有 84 个表。我只想在一列中知道每个表的最大值。这是我目前正在处理的代码:我使用information_schema.columns自动获取表的名称和每个表所属的架构,以便在一个列中获取整个数据库 ID max(id)。
USE TABLE_EXAMPLE
GO
DECLARE @ID NVARCHAR(MAX) --int
SET @ID = (SELECT DISTINCT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'SCHEMA_NAME' AND COLUMN_NAME IN ('ID') AND DATA_TYPE = 'INT')
SELECT @ID FROM (SELECT ('SCHEMA_NAME'+'.'+TABLE_NAME) AS TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'SCHEMA_NAME' AND COLUMN_NAME = 'ID' AND DATA_TYPE='INT') AS W
Run Code Online (Sandbox Code Playgroud)
这个脚本检索了错误的数据,但我认为我对获取值有点封闭,但我不确定我做错了什么。有人可以给我任何好的方法吗?或者有什么更好的选择来完成它?