小编Kry*_*nya的帖子

'('.期待ID)附近的语法不正确

我已经查看了其他几个此类问题,但没有找到一个可以帮我解决这个问题的问题.我想要做的是:我想为所有员工创建一个表,以便分配一个EmployeeID将在其他几个表中使用的表.该表和其他表工作正常.当我尝试创建一个新表时,我的问题就出现了,EmployeeType因此我可以仅根据特定类型的员工提供信息.在SELECT所有三个表的语句中,我收到此错误:

'('.期待ID)附近的语法不正确.

我用Google搜索并搜索了如何解决它,但我尝试过的任何工作都没有.我错过了什么?

CREATE TABLE Employees
(
    EmployeeID      int             NOT NULL    PRIMARY KEY IDENTITY,
    EmpFirstName    char(50)        NOT NULL,
    EmpLastName     char(50)        NOT NULL,
    EmpAddress      varchar(50)     NOT NULL,
    EmpCity         char(50)        NOT NULL,
    EmpState        char(2)         NOT NULL,
    EmpZipCode      varchar(10)     NOT NULL,
    EmpPhone        varchar(12)     NOT NULL,
    EmpJobTitle     char(30)        NOT NULL,
    EmployeeType    char(30)        NOT NULL,
    Salary          money           NOT NULL,
    HoursPerWeek    int             NOT NULL,
);

CREATE TABLE Collective AS
    (SELECT
        *
    FROM    
        [dbo].[Employees]
    WHERE
        EmployeeID = Employees.EmployeeID
        AND EmployeeType = …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

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

创建插入触发器

这是我的代码:

USE MyGuitarshop
GO

CREATE TRIGGER Products_INSERT
ON Products
FOR INSERT
AS
BEGIN
    UPDATE Products
    SET DateAdded = GETDATE()
    WHERE DateAdded IS NULL;
END;
GO

USE MyGuitarShop

INSERT INTO Products (CategoryID, ProductCode, ProductName, Description, ListPrice, DiscountPercent, DateAdded)
VALUES (1, '229985', 'Quartz Watch', 'Lovely watch with a quartz face', 29.99, 12, NULL);
GO

USE MyGuitarShop

SELECT * FROM Products
Run Code Online (Sandbox Code Playgroud)

它会弹出以下错误:消息512,级别16,状态1,过程产品_UPDATE,行13 [批次启动行21]子查询返回的值超过1.当子查询跟随=,!=,<,<=,>,> =或子查询用作表达式时,不允许这样做.

我不明白错误或如何解决它.有人可以指点我正确的方向吗?

t-sql sql-server triggers

-1
推荐指数
1
解决办法
116
查看次数

标签 统计

sql-server ×2

t-sql ×2

sql ×1

triggers ×1