我正在尝试将值插入名为EMPLOYEE_PROGRAM_LEVEL的表中。这是我需要指定的列名:
EMPLOYEE_ID, PROGRAM_ID, LEVEL, MANAGE_ACCESS
在插入之前,我只知道员工名称和程序名称。LEVEL和MANAGE_ACCESS是我需要在查询中进行硬编码的已知常量。
问题是:我需要获取与员工姓名相对应的ID和与程序名称相对应的ID,但是我还需要在同一查询中插入常量值!
我试过了:
INSERT INTO EMPLOYEE_PROGRAM_LEVEL(EMPLOYEE_ID, PROGRAM_ID, LEVEL, MANAGE_ACCESS)
SELECT ID, ID_PROGRAM FROM EMPLOYEE T1
INNER JOIN PROGRAM T2 ON T2.NOM='programName'
WHERE T1.USERNAME='userName'
VALUES(ID, ID_PROGRAM, '9000', 'O');
'9000'和'O'是固定值(LEVEL和MANAGE_ACCESS列)显然,我无法在阻止我的INSERT SELECT QUERY中使用VALUES。这是我得到的错误:
Incorrect syntax near the keyword 'VALUES'.
我该怎么办?
这应该为您工作:
INSERT INTO EMPLOYEE_PROGRAM_LEVEL(EMPLOYEE_ID, PROGRAM_ID, LEVEL, MANAGE_ACCESS)
SELECT ID, ID_PROGRAM,'9000', 'O'
FROM EMPLOYEE T1
INNER JOIN PROGRAM T2 ON T2.NOM='programName'
WHERE T1.USERNAME='userName'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句