问题标签 [schemabinding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
32356 浏览

sql - SQL Server 中“WITH SCHEMABINDING”的缺点?

我有一个数据库,其中包含数百个名称笨拙的表(CG001T、GH066L 等),并且我对每个都有其“友好”名称的视图(例如,视图“CUSTOMERS”是“SELECT * FROM GG120T”) . 我想在我的视图中添加“WITH SCHEMABINDING”,这样我就可以获得一些与之相关的优势,比如能够索引视图,因为少数视图的计算列在运行时计算成本很高。

SCHEMABINDING 这些视图有缺点吗?我发现一些文章含糊地提到了缺点,但从未详细介绍过它们。我知道一旦视图是模式绑定的,如果不首先删除视图,您就无法更改任何会影响视图的内容(例如,列数据类型或排序规则),所以这是一个,但除此之外呢?似乎索引视图本身的能力将远远超过更仔细地规划架构修改的缺点。

0 投票
2 回答
630 浏览

sql - 使用来自其他数据库的表的 UDF 的模式绑定

我在 SQL 2005 中有一个 UDF,我需要对其进行模式绑定,因为它用于我需要索引的视图中。

此 UDF 从位于不同数据库(同一服务器)中的表中获取信息,然后是 UDF 所在的数据库。

由于将表指定为 [DBName].dbo.[Tablename] 是无效的,有没有办法从另一个数据库中的表中获取信息?

0 投票
2 回答
45803 浏览

schemabinding - 无法在视图上创建索引,因为视图不是架构绑定错误 1939

我正在处理的这个作业的第三部分是“基于 OrderID 和 EmployeeID 列创建并索引名为“dbo.Orders Qry”的现有 Northwind 视图。”

预计我会收到错误消息;然而,我的导师只告诉我们谷歌它。我做到了,但是在本周的课程或任何其他课程中都没有方案绑定,而且我发现的东西太深入以至于我无法理解。

这是我没有选中一个框或在某处更改设置的问题吗?

0 投票
1 回答
1197 浏览

sql-server - 模式绑定和计算列依赖循环

嗯,这不好。

我有一个名为“GetFriendlyProductItem”的模式绑定函数,它为 ProductItems 表中的产品返回一个人类可读的名称。

反过来,ProductItems 表有一个名为“Name”的计算列,它使用该函数在该列中生成值。

问题是我需要对 ProductItems 进行更改。我不能,因为 GetFriendlyProductItem 使用它并且它是模式绑定的。我试图改变 GetFriendlyProductItem 使它不再是模式绑定的。这会引发我无法更改它的错误,因为它正在 ProductItems 的计算列中使用。

当我有这个依赖循环阻止它时,如何修改 ProductItems 表?

0 投票
2 回答
4489 浏览

sql - T-SQL - 检查视图是否为 SCHEMABINDING

我试图谷歌它,但没有找到答案......

是否可以检查是否使用 SCHEMABINDING 创建了视图?

0 投票
1 回答
336 浏览

sql-server-2008 - 非空日期如何在视图中变为可空

我在一个名为的表中有一个日期时间字段dbo.Traffic

我正在尝试按天汇总流量数据。我计划创建一个模式绑定视图并添加一个索引。

在基表中,CreateDate 不可为空。但是,一旦我创建了一个视图并将其转换为日期,它就可以为空。

在此处输入图像描述

0 投票
1 回答
67 浏览

view - Indexed View Schemabinding

I want to create indexed view, any help would be appreciated. I have this:

If you have any question let me know...thanks

0 投票
1 回答
607 浏览

sql - laravel 迁移模式构建器:延迟约束检查

我必须将批量数据插入表中并将外键约束检查推迟到事务提交。

与 postgresql 一样,NOT DEFERRABLE 是默认约束类型(mysql innoDB根本不支持DEFERRABLE 约束),我如何在迁移中更改此默认值?

0 投票
0 回答
32 浏览

mysql - MySQL对不同表中两列的唯一约束

首先,我有一个具有 id、account_id 和 name 的表 Device 。该表对其两列 (account_id, name) 具有唯一约束,这意味着如果 account_ids 不同,我们只能具有相同的名称。

现在我把它分成两个表 Device(id, account_id, profile_id) 和 Profile (id, name)。我的问题是如何像以前一样应用唯一约束。我不允许相同的个人资料名称具有相同的 account_id。我怎样才能在 MySql(5.5) 中做到这一点?我认为我需要对两个表进行唯一约束。可能吗?

0 投票
0 回答
35 浏览

sql - 如何使用脚本 (SQL Server) 测试错误的表名和列名

在开发和测试新版本时,我喜欢定期运行测试,检查某些存储过程中的引用是否仍然有效,并且无需执行 SP(执行它们需要几个小时。)

(用“with SCHEMABINDING”创建 SP:s 并不是一个明智的选择,因为其他开发人员,对 SP:s 不太了解的开发人员,必须能够对表进行更改。)

问题 #1: 我一直在考虑使用“设置 NOEXEC”。它在检测缺失列时似乎有效,但只要语句不在存储过程中?

这有效

但这也不是

也不是这个

接缝工作。这个怎么可能?有什么遗漏吗?你知道更好的方法吗?

问题 #2: 使用 NOEXEC ON 执行不适用于缺少表或错误的表名。SQL Server 的延迟名称解析功能据说是造成这种情况的原因。

但是,似乎可以使用以下代码找到丢失的表(但不是丢失的列):

问题#3: 有没有什么神方法可以以更统一的方式找到丢失的表、丢失的表以及其他问题?