Sql 如何在不使用引号的情况下获取字符串变量的值?

Sql 如何在不使用引号的情况下获取字符串变量的值?,sql,database,oracle,Sql,Database,Oracle,我有一个sql脚本,它定义了一些值,然后用这些值调用insert语句。问题是,当它从变量中取出值时,引号就会消失,我想这是意料之中的。。。但我需要使用该值作为插入的参数,所以我需要保留这些引号 -- Item id def ITM_ID = 1 -- Item description def ITM_DE = "Logic Brake Shoes" INSERT INTO item (ITM_ID, ITM_DE) VALUES (&ITM_ID, &ITM_DE); 由于空

我有一个sql脚本,它定义了一些值,然后用这些值调用insert语句。问题是,当它从变量中取出值时,引号就会消失,我想这是意料之中的。。。但我需要使用该值作为插入的参数,所以我需要保留这些引号

-- Item id
def ITM_ID = 1
-- Item description
def ITM_DE = "Logic Brake Shoes"

INSERT INTO item (ITM_ID, ITM_DE) VALUES (&ITM_ID, &ITM_DE);
由于空间原因,这被解释为逻辑后有一个错误:

insert into item(ITM_ID, ITM_DE) values (1, Logic Brake Shoes)

有人知道我该如何把这个值当作文字?提前感谢

您只需将
&ITM\u DE
变量用撇号括起来,它就可以工作了:

INSERT INTO item (ITM_ID, ITM_DE) VALUES (&ITM_ID, '&ITM_DE');

old l: INSERT INTO item (ITM_ID, ITM_DE) VALUES (&ITM_ID, '&ITM_DE')
new l: INSERT INTO item (ITM_ID, ITM_DE) VALUES (1, 'Logic Brake Shoes')

1 row created.