2010-10-25 6 views
1

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

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, но я не знаю, что это такое, поэтому я не знаю, какой поисковый запрос использовать.

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

ответ

2

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

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

Вы можете узнать о пакетах here

+0

Я выбрал свой ответ, потому что вы дали мне путь чтобы проверить, существует ли пакет. Спасибо :) – Jeune

+0

Являются ли пакеты функциями Oracle или являются стандартом для реляционных баз данных? – Jeune

+0

Пакеты специфичны для Oracle и представляют собой удобный способ группировки связанных хранимых процедур и функций. –

2

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

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

2

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

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

2

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

+0

+1 за предоставление ссылки – Jeune

Смежные вопросы