Переменные Oracle - PullRequest
       13

Переменные Oracle

2 голосов
/ 15 февраля 2011

Я пытаюсь написать запрос Oracle, в котором перед запросом заданы некоторые переменные, на которые я могу затем ссылаться в запросе.

В SQL Server я могу сделать следующее:

DECLARE @ReviewID as VARCHAR(3)
DECLARE @ReviewYear AS VARCHAR(4)

SET @ReviewID = 'SAR'
SET @ReviewYear = '1011'

select * from table1 where review_id = @ReviewID and acad_period = @reviewyear

Что такое Oracle эквивалент выше?Я пробовал курсоры и переменные связывания, но, очевидно, что-то делаю не так, поскольку эти методы не работают.

Запрос Oracle предназначен для входа в источник OLEDB в SSIS, а затем переменные будут установлены на уровне пакета.переменные.

Ответы [ 2 ]

8 голосов
/ 15 февраля 2011

Oracle эквивалент в SQL Plus:

VAR ReviewID VARCHAR(3)
VAR ReviewYear VARCHAR(4)

EXEC :ReviewID := 'SAR';
EXEC :ReviewYear := '1011';

select * from table1 where review_id = :ReviewID and acad_period = :reviewyear;
1 голос
/ 15 февраля 2011

Если вы собираетесь использовать этот запрос в источнике OleDb из переменной, вам, вероятно, потребуется использовать выражение, а не переменные SQL. Таким образом, вы должны построить оператор SQL в соответствии с

"select * from table1 where review_id = " + @[User::ReviewID] + " and acad_period = " + @[User::ReviewYear]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...