2017-02-13 30 views
0

文件:Define_variable.sql如何扫描的代码只有特定部分在Oracle替换可变

DEFINE schema_name = ms 

文件:insert_data.sql

insert into &schema_name.settings(key,value) values('Email_msg','<html><p>Dear {First_Name}, {Last_Name}</p><p>{End_user_organization_name} has decided to embrace a new technology. Once enrolled, your Android&#8482; or S<sup>&reg;</sup> </html>') 

我需要插入在该值表,但我无法做到。

它要求的价值& reg(在html脚本中)。如果我把扫描,它不是挑选& schema_name,如果我把扫描,它是要求在HTML内的值。有什么办法可以做

注意:列值是一个Clob数据并且包含一个大的html模板,为了示例目的,我只附上了一些html内容。

+0

请帮忙!!!!! –

回答

1

您可以更改要在替换变量中使用的字符;例如:

SQL> set define @ 
SQL> define my_variable=value 
SQL> select '&[email protected]_variable' from dual; 
old 1: select '&[email protected]_variable' from dual 
new 1: select '&my_variable=value' from dual 

'&MY_VARIABLE=VALU 
------------------ 
&my_variable=value 
1

你需要一个额外的.终止替代变量:

insert into &schema_name..settings (key,value) 

替代变量由.可选终止,所以如果你想要一个实际点之后,那么你需要两个。

btw scan已被废弃,只要我记得就废弃了。使用set define,它还允许您设置不同的前缀字符。