我需要创建批量插入/更新查询,需要以字符串格式传递 ORACLE SQL 查询,并且我不能使用参数化查询,因为 Delphi 中的 SQL 查询字符串解析存在一些性能问题。
我担心的是,在创建这些查询和传递浮点值时,我应该关注数据库的 NLS_NUMERIC_CHARACTERS 吗?现在我将我的查询传递为:
"INSERT ALL
INTO TABLE EMPLOYEE (EMP_ID, EMP_SAL) VALUES (123, 123.123)
INTO TABLE EMPLOYEE (EMP_ID, EMP_SAL) VALUES (345, 345.345)
INTO TABLE EMPLOYEE (EMP_ID, EMP_SAL) VALUES (456, 456.456)
SELECT * FROM DUAL"
我应该改为读取 NLS_NUMERIC_CHARACTERS 的值,然后如果小数分隔符为“,”,则触发以下批量查询,还是由数据库服务器处理?
"INSERT ALL
INTO TABLE EMPLOYEE (EMP_ID, EMP_SAL) VALUES (123, '123,123')
INTO TABLE EMPLOYEE (EMP_ID, EMP_SAL) VALUES (345, '345,345')
INTO TABLE EMPLOYEE (EMP_ID, EMP_SAL) VALUES (456, '456,456')
SELECT * FROM DUAL"
SQL server 应该如何实现?