sql - SQL选择插入触发器
问题描述
USE [BASE]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[Trig1]
ON [dbo].[Report]
for Update
AS BEGIN
INSERT INTO DeclarationApprover ( ApproverLevel,Approver)
select(9,'asd')
from inserted
END
ApproverLevel 和 Approver 都是 nvarchar
我的查询给出了以下错误:
',' 附近的语法不正确。
选择(9,'asd')
解决方案
删除 select 子句中的括号:
INSERT INTO DeclarationApprover (ApproverLevel, Approver)
SELECT 9, 'asd'
FROM INSERTED;
您不需要在 select 子句中使用实际的元组;只需使用文字值的 CSV 列表即可。
实际上,您甚至不需要FROM INSERTED
,因为您实际上并未使用该记录中的任何列,因此以下内容应该有效:
INSERT INTO DeclarationApprover (ApproverLevel, Approver)
SELECT 9, 'asd';
推荐阅读
- javascript - 正则表达式从缩放链接中提取会议 ID
- excel - MS Excel 中的 AHK(脚本的单元格选择问题)
- python-3.x - 获取 tkinter Canvas 的高度/宽度
- javascript - 如何从 ac# 脚本调用 js 脚本
- amazon-web-services - AWS Lambda 避免递归触发
- c++ - 首先从密钥对中查找地图中的最大值
- java - 如何找到数组的所有连续子数组组合并打印它
- python - 如何在python中将字符串对象转换为lambda函数对象
- laravel - 控制页面响应宽度大小
- sql-server - SQL Server: join one table with two table have same names but select all data from table first if available, otherwise from second table