Oracle 替换sqlplus命令中的HTML实体
所以,我有一个自动生成的sql文件,我正在尝试使用sqlplus命令运行,但问题是。。。可能需要替换HTML实体(在本例中为'),这样它就不会要求用户提供任何值,以下是我的示例:Oracle 替换sqlplus命令中的HTML实体,oracle,shell,sqlplus,html-entities,Oracle,Shell,Sqlplus,Html Entities,所以,我有一个自动生成的sql文件,我正在尝试使用sqlplus命令运行,但问题是。。。可能需要替换HTML实体(在本例中为'),这样它就不会要求用户提供任何值,以下是我的示例: CREATE TABLE MY_TABLE ( TABLE_KEY CHAR(24) DEFAULT '' '' NOT NULL, TABLE_FIELD CHAR(40) DEFAULT '' '' NOT NULL
CREATE TABLE MY_TABLE (
TABLE_KEY CHAR(24) DEFAULT '' '' NOT NULL,
TABLE_FIELD CHAR(40) DEFAULT '' '' NOT NULL
)
我正在尝试使用以下命令运行它:
sqlplus USER/PASSWORD @<path_to_sql_file>
sqlplus用户/密码@
有没有办法在sqlplus不向我询问“apos”值的情况下获得实际的撇号
非常感谢你在这方面的帮助 您可以用'| | chr(38)| |' 试试这个:
您可以用'| | chr(38)| |' 试试这个:
您可以使用
CHR(38)
而不是&
(正如Ersin所建议的那样),或者运行
SET DEFINE OFF
在SQL*Plus脚本的顶部。您甚至可以定义&
以外的其他字符用于前缀替换变量,请参阅文档
更新
如果您在脚本中编写DEFAULT'&apos&apos;'代码>然后Oracle放入&apos&载脂蛋白代码>默认值-您还期望什么?Oracle数据库不是HTML浏览器
如果你想有两个撇号,那么写默认值'''
。要在字符串中转义”
,只需将其加倍即可
如果必须更新现有值,可以使用update语句,如下所示:
UPDATE MY_TABLE SET TABLE_KEY = DBMS_XMLGEN.CONVERT(TABLE_KEY, 1);
您可以使用CHR(38)
而不是&
(正如Ersin所建议的那样),或者运行
SET DEFINE OFF
在SQL*Plus脚本的顶部。您甚至可以定义&
以外的其他字符用于前缀替换变量,请参阅文档
更新
如果您在脚本中编写DEFAULT'&apos&apos;'代码>然后Oracle放入&apos&载脂蛋白代码>默认值-您还期望什么?Oracle数据库不是HTML浏览器
如果你想有两个撇号,那么写默认值'''
。要在字符串中转义”
,只需将其加倍即可
如果必须更新现有值,可以使用update语句,如下所示:
UPDATE MY_TABLE SET TABLE_KEY = DBMS_XMLGEN.CONVERT(TABLE_KEY, 1);
问题是,默认值是这样的:chr(38)| |'apos;'||chr(38)| |'apos;'代码>我的意图是使用撇号字符如下:“
临时解决方法是使用命令行并替换&apos实际撇号的代码>但事情是。。。我依赖于sql文件没有任何其他html实体,否则每次都需要调整它…@JulioFernandez,我不明白。你为什么不能用沃纳的解决方案?它关闭了&.Hi@miracle173的不受欢迎的特性,因此,我不想要字符串&apos
在这里,我想要实际的撇号:”
那么,有没有办法告诉sqlplus替换&apos代码>与实际预期值一致?@JulioFernandez但在你的问题中,你写道必须替换它,这样用户就不会被提示输入值。如果使用Werner或Ersin的解决方案,则不会提示您输入值。您提出了错误的问题还是我误解了您的问题?问题是,默认值如下:chr(38)| | apos;'||chr(38)| |'apos;'代码>我的意图是使用撇号字符如下:“
临时解决方法是使用命令行并替换&apos实际撇号的代码>但事情是。。。我依赖于sql文件没有任何其他html实体,否则每次都需要调整它…@JulioFernandez,我不明白。你为什么不能用沃纳的解决方案?它关闭了&.Hi@miracle173的不受欢迎的特性,因此,我不想要字符串&apos
在这里,我想要实际的撇号:”
那么,有没有办法告诉sqlplus替换&apos代码>与实际预期值一致?@JulioFernandez但在你的问题中,你写道必须替换它,这样用户就不会被提示输入值。如果使用Werner或Ersin的解决方案,则不会提示您输入值。你提出了错误的问题还是我误解了你的问题?