Помогите с синтаксисом SQL - PullRequest
       42

Помогите с синтаксисом SQL

1 голос
/ 25 октября 2010

Я не очень хорошо разбираюсь в sqls и пытаюсь понять выражение sql, которого раньше не видел. Мы используем Oracle и платформу IBatis, так что это может быть специфичным для одного из них. Я не совсем уверен.

SELECT 
....
,....
,....
, PKG_LABEL.GET_LABEL_NAME('UOM',T100.CASE_DIM_UOM_CODE) AS caseDimensionsUOM
, PKG_LABEL.GET_LABEL_NAME('UOM',T100.ITEM_DIM_UOM_CODE) AS itemDimensionsUOM
, PKG_LABEL.GET_LABEL_NAME('UOM',T100.CASE_WEIGHT_UOM_CODE) AS caseWeightUOM
, PKG_LABEL.GET_LABEL_NAME('UOM',T100.PALLET_WEIGHT_UOM_CODE) AS unitNetWeightUOM

FROM 

[..snipped..]

На первый взгляд, я думал, что PKG_LABEL был просто псевдонимом таблицы, но кажется, что он вызывает функцию. У меня не было большого опыта с хранимыми процедурами, поэтому мне интересно, если это один.

Я бы посмотрел это в Google, но я не знаю, что именно, поэтому я не знаю, какой поисковый запрос использовать.

Краткое объяснение и некоторые ссылки будут в порядке.

Ответы [ 4 ]

2 голосов
/ 25 октября 2010

Я мало что знаю об iBatis, но PKG_LABEL здесь может быть «пакетом» в базе данных.Чтобы узнать, существует ли пакет с таким именем, вы можете выполнить этот запрос

SELECT * FROM user_objects
    WHERE    object_type = 'PACKAGE' AND object_name = 'PKG_LABEL';

. Вы можете узнать о пакетах здесь

2 голосов
/ 25 октября 2010

Посмотрите в своей схеме попытку найти имена пакетов PKG_LABEL.

В ее теле вы должны найти функцию с именем GET_LABEL_NAME, взгляните на ее код, чтобы узнать, что он делает ...

2 голосов
/ 25 октября 2010

PKG_LABEL - это пакет PL / SQL , представляющий собой набор функций и процедур PL / SQL .GET_LABEL_NAME - это функция в этом пакете, которая выполняет некоторую логику над своими аргументами и возвращает значение (возможно, символьную строку в этом случае).

2 голосов
/ 25 октября 2010

PKG_LABEL, вероятно, относится к пакету.

Это имя оракула для группы (связанных) функций / процедур.

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