У меня есть скрипт для импорта старого товара в новую систему. Новая система требует, чтобы номер детали и ревизия были отдельными, и это хорошо, не знаю, кто решил, что это не должно быть в случае со старой системой.
Я нахожу это довольно медленным, пока я тестирую, и, похоже, это связано с разделением номера детали и ревизии. Это та часть моего сценария
CASE
WHEN ISNUMERIC(RIGHT([Our_Part_No],1)) = 0 AND
LEFT(SUBSTRING([Our_Part_No],1,LEN([Our_Part_No])-1),30)
COLLATE DATABASE_DEFAULT IN (Select PMA_PART_ONLY from ASC_PMA_TBL)
THEN LEFT(SUBSTRING([Our_Part_No],1,LEN([Our_Part_No])-1),30)
ELSE LEFT([Our_Part_No],30)
END As [Part No],
CASE
WHEN [Our_Part_No] COLLATE DATABASE_DEFAULT NOT IN (SELECT PMA_PART_ONLY FROM ASC_PMA_TBL )
THEN
CASE
WHEN ISNUMERIC(RIGHT([Our_Part_No],1)) = 1 Then ''
ELSE Upper(RIGHT([Our_Part_No],1))
END
ELSE ''
END As [Rev]
Я также проверяю, что часть без ревизии является допустимой частью перед импортом.
Любой способ повысить эффективность выделенияпересмотр со старых данных.
РЕДАКТИРОВАТЬ:
Пример данных с our_part_no
в качестве исходных данных и Part No
и Rev
выход
EDIT2: исходные данные для проверки запасных частей верны. PMA_PART_REV
равно varchar(16)
и PMA_PART_REV
равно varchar(4)