Oracle 相当于 SQLite 的 quote() 函数

标签 oracle sqlite query-optimization

有时我想生成INSERT来自数据库表内容的语句。

使用 SQLite,我可以做到:

SELECT 'INSERT INTO foo (col1, col2) VALUES (' || quote(col1) || ',' || quote(col2) || ');'
  FROM bar;

使用 Oracle,我必须这样做:
SELECT 'INSERT INTO foo (col1, col2) VALUES (''' || replace(col1, '''', '''''') || ''',''' || replace(col2, '''', '''''') || ''');'
  FROM bar;

此外,它不适用于 NULL 值。

有没有更好的办法?

最佳答案

如果您使用 11g,我会使用 DBMS_ASSERT.ENQUOTE_LITERAL而不是滚动你自己的。

关于Oracle 相当于 SQLite 的 quote() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3837745/

相关文章:

ios - 写入sqlite db(iOS)时崩溃后我该怎么办?

Mysql SQL查询速度很慢

mysql - 使用分区修剪优化查询

java - 使用 java 而不是 sql 获取当前数据库 sysdate

java - 由于长时间运行的连接而阻塞线程?

database - 如何在 Mac OS X 应用程序中播种数据库

sql - 使用 Perl 将简化的 SQL 查询解析为 SQLite

sql - 优化SQL查询-查找具有in a group的组

sql - 获得Oracle最低记录

database - 使用 go 和 InstantClient 从存储过程访问 OUT 参数(t_cursor 类型)