Oracle SQL,在一行中插入一个查询,如字符串/文本

时间:2014-04-21 09:25:34

标签: sql oracle text

我试图在我的数据库中插入一个Query作为字符串(当用户点击应用程序执行此查询并显示图表时)。

Select DECODE (VERSION_JPA,
               1, 'Abierto',
               2, 'Cerrado',
                  'Desconocido') as "LABEL",
       'Simulacion' AS "SERIE",
       count(VERSION_JPA) as "VALUE" 
FROM EVENTOS 
WHERE TIPO = 'simulacion'
group by VERSION_JPA

此查询适用于Aqua Data。要在DB中插入y,请使用double'和i删除“因为我读到”在oracle中无效。最后我将其插入我的数据库中:

   ' Select DECODE (VERSION_JPA,
                   1, ''Abierto'',
                   2, ''Cerrado'',
                      ''Desconocido'') as ''LABEL'',
           ''Simulacion'' AS ''SERIE'',
           count(VERSION_JPA) as ''VALUE'' 
    FROM EVENTOS 
    WHERE TIPO = ''simulacion''
    group by VERSION_JPA '

但仍然无法正常工作。我究竟做错了什么? 谢谢。

2 个答案:

答案 0 :(得分:0)

你应该摆脱''周围的LABEL等。

使用此:

' Select DECODE (VERSION_JPA,
               1, ''Abierto'',
               2, ''Cerrado'',
                  ''Desconocido'') as LABEL,
       ''Simulacion'' AS SERIE,
       count(VERSION_JPA) as VALUE 
FROM EVENTOS 
WHERE TIPO = ''simulacion''
group by VERSION_JPA '

答案 1 :(得分:0)

如果您使用的是ORACLE 10或更高版本,则可以使用自己的引号。格式是 q' {您的引号}字符串{您的引号}'

所以,使用"会更简单(你不需要修改你的字符串):

select q'"Select DECODE (VERSION_JPA,
          1, 'Abierto',
          2, 'Cerrado',
          'Desconocido') as LABEL,
   'Simulacion' AS SERIE,
   count(VERSION_JPA) as VALUE
FROM EVENTOS 
WHERE TIPO = 'simulacion'
group by VERSION_JPA"' select_statement
from dual