обновить запрос специальными символами в качестве данных в таблице оракула - PullRequest
0 голосов
/ 08 января 2019

Я пытаюсь обновить столбец QUERY1 в таблице ниже,

ctrl_id  query1
C001     NULL

запрос будет обновлен в столбце QUERY1 - выберите «C001» в качестве CTRL_ID, «SRC1» в качестве SOURCE, [Балансовая единица], Сумма ([Всего AV]) ОТ $ Src_tbl1 GROUP BY [Балансовая единица]

Ниже приведен запрос, который я использую,

update table test1  set QUERY1= ''SELECT ‘C001’ as CTRL_ID, ‘SRC1’ as SOURCE, [Company Code], Sum([Total AV]) FROM $Src_tbl1 GROUP BY [Company Code]'' WHERE CTRL_ID='C001'

Этот запрос не выполняется. Пожалуйста помогите.

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Вы должны использовать 2 одинарные кавычки для хранения одной цитаты ':

update 
  test1  
set QUERY1= 'SELECT ''C001'' as CTRL_ID, ''SRC1'' as SOURCE, [Company Code], Sum([Total AV]) FROM $Src_tbl1 GROUP BY [Company Code] WHERE CTRL_ID=''C001''';

Это будет хранить значение как:

SELECT 'C001' as CTRL_ID, 'SRC1' as SOURCE, [Company Code], Sum([Total AV]) FROM
 $Src_tbl1 GROUP BY [Company Code] WHERE CTRL_ID='C001'

Как видите, в конце есть 3 одинарные кавычки:
первые 2 используются для экранирования закрывающей одинарной кавычки 'C001'
и 3d, чтобы закончить все значение QUERY1.
Если вы хотите, чтобы значение хранилось как:

'SELECT 'C001' as CTRL_ID, 'SRC1' as SOURCE, [Company Code], Sum([Total AV]) FROM $Src_tbl1 GROUP BY [Company Code] WHERE CTRL_ID='C001''

тогда вы должны сделать это:

update 
  test1  
set QUERY1= '''SELECT ''C001'' as CTRL_ID, ''SRC1'' as SOURCE, [Company Code], Sum([Total AV]) FROM $Src_tbl1 GROUP BY [Company Code] WHERE CTRL_ID=''C001''''';
0 голосов
/ 08 января 2019

Установить query1 = 'select' 'coo1' 'в качестве ctrl_id,' 'src1' 'в качестве источника,

Company_code, сумма (total_avg) из группы таблиц по company_code '

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...