Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопросы по sqlPlus (теоретические) / 20 сообщений из 20, страница 1 из 1
13.11.2017, 21:00
    #39552514
Ameli2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Всем привет.
Начала тут изучение sqlPlus. Ну как изучение... попалось несколько примеров.
И вот что не могу понять.
Например, пишут такое:

....
SKIP left "Отгрузил: " out_name" skip2
BREAK ON out_name SKIP PAGE
-- main query
select out_name, in_name, organization from warehouse;
...

При этом, строка "Отгрузил: Иванов" печатается непосредственно перед выводом таблицы, т. е. skip2 не срабатывает. Никто не жалуется, просто мне непонятно.

Заодно поясните, пожалуйста, перед тем, как начать новый page, sqlPlus добавляет строку. Это можно как-то отменить?
...
Рейтинг: 0 / 0
14.11.2017, 09:41
    #39552655
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Ameli2000,

set newpage none

.....
stax
...
Рейтинг: 0 / 0
14.11.2017, 11:05
    #39552744
Ameli2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Stax, спасибо Вам.
Я так поняла, это ко второму вопросу?
...
Рейтинг: 0 / 0
14.11.2017, 11:33
    #39552771
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Ameli2000skip2
Вот так и написано?
...
Рейтинг: 0 / 0
14.11.2017, 11:38
    #39552775
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
...
Рейтинг: 0 / 0
14.11.2017, 11:41
    #39552777
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Ameli2000,

вопросы не пронумерованы, трудно сказать к чему я ето запостил

насчет
....
SKIP left "Отгрузил: " out_name" skip2

подозреваю что несколькими строчечками повыше есть ttitle и ети скипы относятся к ней

....
stax
...
Рейтинг: 0 / 0
14.11.2017, 13:31
    #39552842
Ameli2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
env,
Да, вот именно так и написано. Ошибка, видимо?
Доку читала в силу своего понимания, и вот именно это не нашла там. Но с моим знанием английского могла просто пропустить. Я так и подумала, что пробела не хватает. Но там часто такое встречается (в других примерах), неужели это везде ошибка? И вот в доке про пробелы ни слова.

-----------------------------------
Stax, простите. Конечно есть там, вот так выглядит полная строка.
TTITLE left "Склад: " whs_name -
SKIP left "Отгрузил: " out_name" skip2
Потеряла по дороге (

Вопрос 1 был про skip2

Вопрос 2 был про строку, которая добавляется перед каждым началом таблицы.
...
Рейтинг: 0 / 0
14.11.2017, 13:49
    #39552848
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Ameli2000,
1)
на каждой странице сверху печатаем слева
склад ххх
в следующей строке (skip) слева печатаем
отгрузил ффф
пропускаем одну строку (через строку) skip 2

возможно что-то выводим

2) чтобы вначале страницы не было пустых строк поставить
set newpage none

.....
stax
...
Рейтинг: 0 / 0
14.11.2017, 14:14
    #39552872
Ameli2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Stax, skip 2 можно написать без пробела (skip2)?
В оригинальном коде пробела нет, и в результате строка не пропускается. Как это интерпретирует sqlplus?

Спасибо Вам большое за помощь.
...
Рейтинг: 0 / 0
14.11.2017, 14:51
    #39552895
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Ameli2000,

должна пропускаться, мож от версии зависит
по хорошому пробел надо

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
SQL> tti center Ameli2000  skip 2
SQL> select * from emp
  2  /
                                              Ameli2000
пустая строка
     EMPNO ENAME      JOB              MGR HIREDATE        SAL       COMM     DEPTNO
---------- ---------- --------- ---------- -------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17.12.80        800                    20
      7499 ALLEN      SALESMAN        7698 20.02.81       1600        300         30
      7521 WARD       SALESMAN        7698 22.02.81       1250        500         30
      7566 JONES      MANAGER         7839 02.04.81       2975                    20
      7654 MARTIN     SALESMAN        7698 28.09.81       1250       1400         30
      7698 BLAKE      MANAGER         7839 01.05.81       2850                    30
      7782 CLARK      MANAGER         7839 09.06.81       2450                    10
      7788 SCOTT      ANALYST         7566 09.12.82       3000                    20
      7839 KING       PRESIDENT            17.11.81       5000                    10
      7844 TURNER     SALESMAN        7698 08.09.81       1500                    30
      7876 ADAMS      CLERK           7788 12.01.83       1100                    20
      7900 JAMES      CLERK           7698 03.12.81        950                    30
      7902 FORD       ANALYST         7566 03.12.81       3000                    20
      7934 MILLER     CLERK           7782 23.01.82       1300                    10

14 rows selected.



.....
stax
...
Рейтинг: 0 / 0
14.11.2017, 15:19
    #39552914
Ameli2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Stax, спасибо Вам огромное. В целом, как работает skip я поняла (хе-хе), но именно вот отсутствие пробела смутило.
И вопрос я задала по-дурацки, что никто ничего не понял, а он был именно про отсутствие пробела.
При проверке без пробела как раз строка не пропускается, и собственно суть вопроса была - правильно ли это.
С другой стороны, не ясно, куда девается этот skip2, если в результате он не выводится, и строку не пропускает.
...
Рейтинг: 0 / 0
14.11.2017, 16:08
    #39552946
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Ameli2000Stax, спасибо Вам огромное. В целом, как работает skip я поняла (хе-хе), но именно вот отсутствие пробела смутило.
И вопрос я задала по-дурацки, что никто ничего не понял, а он был именно про отсутствие пробела.
При проверке без пробела как раз строка не пропускается, и собственно суть вопроса была - правильно ли это.
С другой стороны, не ясно, куда девается этот skip2, если в результате он не выводится, и строку не пропускает.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SQL> tti left Ameli2000 skip2 "ето не совсем так" skip3
SQL> select * from dept;

Ameli2000
 пустая строка skip2
ето не совсем так
 две пустые строки skip3

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON



.....
stax
...
Рейтинг: 0 / 0
14.11.2017, 16:16
    #39552950
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Ameli2000В целом, как работает skip я поняла

Боюсь что не поняла. Слово SKIP конечно сбивает с толку, но доку ведь никто не отменял. SKIP N поставит <new line> N раз, т.е. первый <new line> закончит текущую строку. Так что SKIP N это N-1 пустая строка после текущей.

SY.
...
Рейтинг: 0 / 0
14.11.2017, 16:44
    #39552963
Ameli2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Нет, у меня skip2 и выглядит это так:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
ето не совсем так
    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON



Именно поэтому и возник вопрос. Но я попробую ещё на простом примере.
...
Рейтинг: 0 / 0
16.11.2017, 12:32
    #39554238
Ameli2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Добрый день.
Немного подниму тему. Опять неясности... (

Согласно документации, skip page в break делает разрыв в странице (т. е. начинает новую таблицу).
Вопрос такой:
Код: plsql
1.
break ON adres skip on dep skip page

следует расценивать как
сделать разрыв страницы при (1) изменении adres || dep или же (2) только dep ?
Если первое, то какой смысл имеет skip в
Код: plsql
1.
ON adres skip

?
...
Рейтинг: 0 / 0
16.11.2017, 15:13
    #39554399
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Ameli2000,

SKI[P] n

Skips n lines before printing the row where the break occurred.

n у Вас сколько?

.....
stax
...
Рейтинг: 0 / 0
16.11.2017, 17:01
    #39554504
Ameli2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Stax,
n у меня пропущен.

B, кажется, я теперь вообще перестала что-либо понимать в работе break
...
Рейтинг: 0 / 0
16.11.2017, 17:07
    #39554511
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Ameli2000Stax,
n у меня пропущен .

B, кажется, я теперь вообще перестала что-либо понимать в работе break

поставте n 1 (2, 3) и все наладится

зы
я так понимаю
по доке n обязателен

.....
stax
...
Рейтинг: 0 / 0
16.11.2017, 19:02
    #39554634
Ameli2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Хех. Если бы я могла там что-то менять.
Моя задача - повторить отчёт в другой системе. И очень тяжело без возможности изменения понимать, как работает оригинальный отчёт.
Впрочем это не относится к теме.

Ещё раз Вам спасибо, Stax, что не бросаете меня )
...
Рейтинг: 0 / 0
17.11.2017, 10:26
    #39554892
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопросы по sqlPlus (теоретические)
Ameli2000И очень тяжело без возможности изменения понимать, как работает оригинальный отчёт.


берете небольшую тестовую табличку (напр emp) и на ней тренеритесь
если визульно изменений не видно, можно сравнивать файлы

напр сравниваете результат для
1) break ON adres skip on dep
2) break ON adres skip 1 on dep
3) break ON adres on dep

так легче понять что имелось ввиду в доке

ps
break обычно скоррелирован с order by

.....
stax
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопросы по sqlPlus (теоретические) / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]