Не удалось связать идентификатор из нескольких частей - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь запустить этот код. Это означает, что вставьте значения в другую таблицу. Тем не менее, он отображает

Не удалось связать множественный идентификатор AMLETL.ADD_USER.UserID.

Я также поставил цитату [], но он получил те же ошибки Я также попытался использовать select в запросе.

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"

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Я предполагаю, что у вас нет правильного соединения между таблицами. Вам необходимо присоединить их к первичному ключу, ниже я предположил, что это 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   
0 голосов
/ 11 января 2019

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   
...