exponenta event banner

Вызов хранимой процедуры, возвращающей данные

В этом примере показано, как вызвать хранимую процедуру, которая возвращает данные с помощью fetch функция. Интерфейс JDBC используется для подключения к базе данных Microsoft ® SQL Server ®, вызова хранимой процедуры и возврата данных. В этом примере база данных Microsoft SQL Server содержит хранимую процедуруgetSupplierInfo. Эта хранимая процедура возвращает информацию о поставщике для поставщиков данного города. Этот код определяет процедуру.

CREATE PROCEDURE dbo.getSupplierInfo
	(@cityName varchar(20))
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON

    SELECT * FROM dbo.suppliers WHERE City = @cityName
END

Для Microsoft SQL Server оператор 'SET NOCOUNT ON' подавляет результаты INSERT, UPDATE, или любой не-SELECT заявления, которые могут быть перед окончательным SELECT , чтобы можно было импортировать результаты SELECT запрос.

Используйте fetch функция, когда хранимая процедура возвращает один или несколько результирующих наборов. Для процедур, возвращающих выходные параметры, используйте runstoredprocedure.

Создать подключение к базе данных

С помощью интерфейса JDBC подключитесь к базе данных Microsoft SQL Server с именем 'test_db' с именем пользователя и паролем с использованием номера порта 1234. В этом примере предполагается, что сервер базы данных находится на компьютере servername.

conn = database('test_db','username','pwd', ...
    'Vendor','Microsoft SQL Server', ...
    'Server','servername','PortNumber',1234);

Хранимая процедура вызова

Вызовите хранимую процедуру, getSupplierInfoи отобразить информацию о поставщике для New York города с использованием fetch и подключение к базе данных. results содержит информацию о поставщике.

sqlquery = '{call getSupplierInfo(''New York'')}';
results = fetch(conn,sqlquery)
ans =

  3×5 table

    SupplierNumber       SupplierName          City           Country          FaxNumber   
    ______________    __________________    __________    _______________    ______________

    1001              'Wonder Products'     'New York'    'United States'    '212 435 1617'
    1006              'ACME Toy Company'    'New York'    'United States'    '212 435 1618'
    1012              'Aunt Jemimas'        'New York'    'USA'              '14678923104' 

Закрыть подключение к базе данных

close(conn)

См. также

| |

Внешние веб-сайты