Хранимая процедура SQL, где база данных для запроса является параметром - PullRequest
0 голосов
/ 01 июля 2010

Я работаю с Microsoft Access (не с сервером SQL) и написал хранимую процедуру (Query), как показано ниже в SQL.

Эта процедура работает, но она основана на жестко заданном пути к базе данных отдля извлечения (SELECT) данных.

Чтобы сделать запрос более полезным, я хочу передать базу данных SELECT из параметра в качестве запроса - как это сделать?

INSERT INTO Part_Batteries ( ItemCode, Size, Voltage )
SELECT tblBatteries.ItemCode, tblBatteries.SizeAH, tblBatteries.Voltage
FROM tblBatteries IN 'C:\Databases\DeviceDatabases\UKDevices.mdb';

Т.е. я хочу заменить строку

FROM tblBatteries IN 'C:\Databases\DeviceDatabases\UKDevices.mdb';

чем-то вроде этого

FROM tblBatteries IN @DB

В настоящее время я проверяю процедуры, нажимая на них в Access или вызывая их изМодуль VB.

Когда я убедлюсь, что они работают, я буду вызывать их по мере необходимости из основного приложения, которое будет построено с использованием C #.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 01 июля 2010

Пожалуйста, прочитайте это http://www.sommarskog.se/dynamic_sql.html#storedprocedures

Я думаю, это то, что вы ищете.

0 голосов
/ 01 июля 2010

Вам необходимо объявить переменную в верхней части сохраненного процесса

DECLARE @DB AS string

INSERT INTO Part_Batteries ( ItemCode, Size, Voltage )
SELECT tblBatteries.ItemCode, tblBatteries.SizeAH, tblBatteries.Voltage
FROM tblBatteries IN @DB;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...