Результаты запроса хранимой процедуры

Ваш вопрос не завершен. Если вы получаете сообщение об ошибке, как показано ниже, это означает, что порт 8080 уже используется.

The Tomcat connector configured to listen on port 8080 failed to start. The port may already be in use or the connector may be misconfigured.

Action:

Verify the connector's configuration, identify and stop any process that's listening on port 8080, or configure this application to listen on another port.

В этом случае вы можете либо остановить приложение, работающее в этом порту, либо просто использовать другой порт. В вашем файле application.properties вы можете определить порт как

server.port=8181
6
задан GregD 28 February 2009 в 13:56
поделиться

7 ответов

Код ниже работ в MS SQL 2005. У меня нет установки Sybase прямо сейчас для тестирования его на этом. Если это работает в Sybase, Вы могли бы использовать временную таблицу (или постоянная таблица) за пределами Вашей хранимой процедуры так, чтобы Вы не имели, изменяют код, который Вы пытаетесь протестировать (не очень хорошая процедура тестирования обычно.)

CREATE TABLE dbo.Test_Proc_Results_To_Table
(
    my_id       INT         NOT NULL,
    my_string   VARCHAR(20) NOT NULL
)
GO

CREATE PROCEDURE dbo.Test_Proc_Results_To_Table_Proc
AS
BEGIN
    SELECT
        1 AS my_id,
        'one' AS my_string
END
GO

INSERT INTO dbo.Test_Proc_Results_To_Table (my_id, my_string)
EXEC dbo.Test_Proc_Results_To_Table_Proc
GO

SELECT * FROM dbo.Test_Proc_Results_To_Table
GO
3
ответ дан 16 December 2019 в 21:46
поделиться

В SQL Где угодно 10 и 11 (не см., является ли это ASA или ASE, который Вы спрашиваете о):

SELECT DISTINCT Column1
FROM procName(parameter1, parameter2, parameter3);

У меня нет ASE, и я не уверен, работает ли это над более ранними версиями ASA.

3
ответ дан 16 December 2019 в 21:46
поделиться

Вы могли составить временную таблицу (#temp) в SP и заполнить набор результатов там. Можно позже выбрать из той же временной таблицы от той же сессии. (Или используйте глобальную временную таблицу в sybase с ##temp синтаксисом),

Это вызвано тем, что то, что Вы хотите сделать (выбор * от исполнительного SP) не непосредственно возможно в sybase

1
ответ дан 16 December 2019 в 21:46
поделиться

Действительно ли возможно переписать сохраненный proc как функцию, которая возвращает таблицу? На SQL Server это, конечно, возможно. Затем можно сделать...

select
    <any columns you like>
from
    dbo.myFunc( 'foo', 'bar', 1 )
where
    <whatever clauses you like>
order by
    <same>
1
ответ дан 16 December 2019 в 21:46
поделиться

Я не знаком с Sybase, но в MySQL Вы могли использовать IN параметр для записи одного SQL-запроса для всего этого. Исключая:

select distinct column1 from table where column1 in (your_first_query_with_all_the_arguments)

0
ответ дан 16 December 2019 в 21:46
поделиться

I don't have Sybase installed right now, so some minor syntactic aspect may be wrong here - I can't check, but I used it extensively in the past: select * into #temp from proc_name('arg1','arg2','arg3') should create the local temp table for you automatically with the right columns. Within the same transaction or begin/end block you can access #temp by select * from #temp.

0
ответ дан 16 December 2019 в 21:46
поделиться

Единственный реальный путь вокруг этой проблемы состоит в том, чтобы составить таблицу в Вашей базе данных для хранения временных ценностей.

Позволяет говорят, что хранимые процедуры выбирают Column1, Column2 и Column3.

Имейте таблицу (поддающуюся соблазну) с Column1, Column2, Column3, и установите свою хранимую процедуру на следующее:

CREATE PROCEDURE database..proc
AS
BEGIN
  DELETE FROM tempTable

  INSERT INTO tempTable (Column1, Column2, Column3)
  SELECT Column1, Column2, Column3 
  FROM Table1 
END

then for your sql code to select the values have:

exec database..proc
SELECT Column1, Column2, Column3 
FROM tempTable

Я надеюсь, что это помогает, я столкнулся с подобными проблемами прежде, и это было лучшим, я мог удаться.

0
ответ дан 16 December 2019 в 21:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: