#sql #node.js #sap-cloud-platform #sap-cap
#sql #node.js #sap-облачная платформа #sap-cap
Вопрос:
Я занимаюсь локальной разработкой для SAP CAP с проектом Nodejs в VSCODE. Я подключен к серверу XSA. Я пытаюсь создать пользователя базы данных hana в среде XSA. Я хочу сначала проверить, существует ли уже список пользователей, который создаст мое приложение, или нет. Для этого я пытаюсь выполнить запрос select с предложением where . Это подготовленный оператор, который я пытаюсь выполнить с помощью execBatch(array). Ниже приведен код.
let arr = [["POC_ADMIN_DEMO_USER_7"],["POC_ADMIN_DEMO_USER_1"]]
const checkuserexiststatement = await xsaDbConn.preparePromisified("SELECT USER_NAME FROM USERS WHERE USER_NAME = ?")
let readuserresult = await checkuserexiststatement.execBatch(arr)
console.table(readuserresult)
Выполнение запроса завершается ошибкой со следующей ошибкой —
Ошибка
Error: SQL command would generate a result set at
C:UsersDocumentsXSASAC_POCcap_njscap_njsuser_management.js.createUsers
(C:UsersDocumentsXSASAC_POCcap_njscap_njsuser_management.js:59:60)
Я хочу знать, поддерживает ли запрос / оператор select функциональность execBatch() в Hana, поскольку тот же оператор select работает без какого-либо заполнителя, то есть когда значение user_name указывается непосредственно в предложении where, а exec() используется вместо execBatch(), Или я упускаю какой-то моментздесь?
Комментарии:
1. Если поддерживается execBatch () , можно найти в документации.
2. Да, после того, как я пройду удвоение, я понимаю, что — execBatch() не вернет ни одной из затронутых строк вместо строк. Поскольку запрос select возвращает строки, поэтому execBatch() не будет поддерживать запрос select.
Ответ №1:
execBatch() — не возвращает строк, затронутых в результате выполненного запроса. Запрос Select возвращает результирующий набор (если таковой имеется) или пустой массив в Node.js . Поэтому execBatch() несовместим с запросом Select, потому что execBatch() используется для пакетного выполнения, а выбор выполняется одним выстрелом вместо пакетного.