可以为视图或表定义 INSTEAD OF INSERT 触发器来替换 INSERT 语句的标准操作。通常会为视图定义 INSTEAD OF INSERT 触发器以在一个或多个基表中插入数据。 视图选择列表中的列可以为空,也可以不为空。如果视图列不允许使用空值,则 INSERT 语句必须为该列提供值。如果定义视图列的表达式包括下列项,则视图列允许使用...
在表上指定的INSTEAD OF INSERT触发器和在视图上指定的INSTEAD OF触发器,其inserted表中包含的计算列、标识列和timestamp列的值不同。 基表列 表上任何INSERT触发器的inserted表中的值 视图上INSTEAD OF INSERT触发器inserted表中的值 是计算列。 计算表达式 用户指定值或NULL 具有IDENTITY属性。 如果IDENTITY_INSERT...
INSTEADOFINSERT触发器 可以在视图或表上定义INSTEADOFINSERT触发器来代替INSERT语句的标准操作。通常,在视图上定义INSTEADOFINSERT触发器以在一个或多个基表中插入数据。 视图选择列表中的列可为空也可不为空。如果视图列不允许为空,则INSERT语句必须为该列提供值。如果定义视图列的表达式包括以下项目,则视图列...
一些视图表达式可以转换基表列的值,例如通过执行数学运算或使用列作为函数的参数。在这种情况下,INSTEAD OF INSERT 触发器中的逻辑可采用两种方法: 约定可以是:所有 INSERT 语句都提供要放在基表中的原始值,触发器逻辑将插入的表中的值移至基表。 约定可以是:所有 INSERT 语句提供预期得到的由视图上的 SELECT 返回...
INSTEAD OF触发器工作原理 INSTEAD OF表示并不执行其所定义的操作INSERT,UPDATE ,DELETE,而仅是执行触发器本身,即当对表进行INSERT、UPDATE 或 DELETE 操作时,系统不是直接对表执行这些操作,而是把操作内容交给触发器,让触发器检查所进行的操作是否正确,如正确才进行相应的操作。因此,INSTEAD OF 触发器的动作要早于表...
数据库中的"instead of"通常后面接的是触发器(Trigger)的类型,常见的类型有:插入(INSERT)、删除(DELETE)、更新(UPDATE)。也就是说,"instead of"后面接的是希望触发器在何种操作发生时被触发。例如,如果你希望在插入某个表的数据时触发某种操作,你可以使用"instead of insert"。这种触发器会在尝试向表中插入数据...
INSTEAD OF表示并不执行其所定义的操作INSERT,UPDATE ,DELETE,而仅是执行触发器本身,即当对表进行INSERT、UPDATE 或 DELETE 操作时,系统不是直接对表执行这些操作,而是把操作内容交给触发器,让触发器检查所进行的操作是否正确,如正确才进行相应的操作。因此,INSTEAD OF 触发器的动作要早于表的约束处理。
INSTEAD OF INSERT触发器 可以在视图或表上定义 INSTEAD OF INSERT 触发器来代替 INSERT 语句的标准操作。通常,在视图上定义 INSTEAD OF INSERT 触发器以在一个或多个基表中插入数据。 视图选择列表中的列可为空也可不为空。如果视图列不允许为空,则 INSERT 语句必须为该列提供值。如果定义视图列的表达式包括以...
INSTEAD OF 触发器 用来代替通常的触发动作,即当对表进行INSERT、UPDATE 或 DELETE 操作时,系统不是直接对表执行这些操作,而是把操作内容交给触发器,让触发器检查所进行的操作是否正确。如正确才进行相应的操作。因此,INSTEAD OF 触发器的动作要早于表的约束处理。 INSTEAD OF 触发器 的操作有点类似于完整性约束。在...
在视图上使用 INSTEAD OF 触发器 使用INSTEAD OF 触发器,您可以在视图上重写 INSERT、SELECT、UPDATE 或 DELETE 操作。例如,您可在视图上定义 INSTEAD OF INSERT 触发器,以替换标准的 INSERT 语句。 假定在 pubs 数据库中以下面的视图开始: CREATE VIEW AuthorsNames...