我尝试运行此代码。这意味着将值插入到另一个表中。但是,它显示
无法绑定多个标识符AMLETL.ADD_USER.UserID。
我也引用了[],但出现了相同的错误。我也尝试在查询中使用选择。
INSERT INTO AMLDB.AML0001.GWGBENUT
select
isnull(substring(AMLETL.ADD_USER.UserID,1,5),'')+isnull(substring(AMLETL.ADD_USER.EMAIL,4,5), ''),
usersequence.NEXTVAL USERID,
AMLETL.ADD_USER.UserID,
AMLETL.ADD_USER.USERNAME,
'demo',
to_char(getdate(),'YYYYMMDDHH24MISSFF3'),
AMLETL.ADD_USER.USERTYPE,
'0001',
'en',
'',
'',
'',
'N',
'0',
'',
'oZlZp6YtyqfWFzQh6Jde7g==',
'0001',to_char(getdate(),'YYYYMMDDHH24MISSFF3'),
'9999','','N','0','','H','','',
AMLETL.ADD_USER.UserID,'J','','','','','0001',AMLETL.ADD_USER.branch
from AMLETL.ADD_USER where len(AMLETL.ADD_USER.UserID)>10
;
假设所有列名称,分支都是正确的。它显示了多部分标识符“ AMLETL.ADD_UserID”无法绑定
答案 0 :(得分:0)
to_char
不是T-SQL方法。它是Oracle操作员。使用CONVERT
和别名:
INSERT INTO AMLDB.AML0001.GWGBENUT
SELECT
ISNULL(substring(u.UserID,1,5),'')
+ isnull(substring(u.EMAIL,4,5), ''),
usersequence.NEXTVAL USERID,
u.UserID,
u.USERNAME,
'demo',
convert(varchar(50),GETDATE(), 112) YourColumn,
u.USERTYPE,
'0001',
'en',
'',
'',
'',
'N',
'0',
'',
'oZlZp6YtyqfWFzQh6Jde7g==',
'0001',
convert(varchar(50),GETDATE(), 112) YourColumnVARCHAR,
'9999','','N','0','','H','','',
u.UserID,'J','','','','','0001',
u.branch
from AMLETL.ADD_USER u where len(AMLETL.ADD_USER.UserID) > 10
答案 1 :(得分:0)
我的猜测是您在表之间没有正确的联接。您需要将它们加入主键,下面我假设它是UserId,并且AMLDB.AML0001.GWGBENUT的列具有相同的名称
更改此
from AMLETL.ADD_USER where len(AMLETL.ADD_USER.UserID) > 10
到
FROM AMLETL.ADD_USER au
JOIN AMLDB.AML0001.GWGBENUT g ON au.UserID = g.UserID
WHERE LEN(au.UserID) > 10