开发者

SQL stored procedure where database to query is parameter

I am working with Microsoft Access (not SQL server) and have written a stored procedure (Query) as shown below in SQL.

This procedure works but it relies on a hard coded path to the database from which to pull (SELECT) the data.

To make the query more useful I want to pass the database to SELECT from 开发者_StackOverflow社区as a parameter to the query - how does one do this?

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

I.e. I want to replace the line

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

with something like this

FROM tblBatteries IN @DB

Currently I am testing the procedures by either clicking on them in Access or by calling them from a VB module.

When I am satisfied they work I will call them as required from the main application that will be built using C#.

Thanks in advance.


Please read this http://www.sommarskog.se/dynamic_sql.html#storedprocedures

I think it is what you are looking for.


You need to declare the variable at the top of your stored proc

DECLARE @DB AS string

INSERT INTO Part_Batteries ( ItemCode, Size, Voltage )
SELECT tblBatteries.ItemCode, tblBatteries.SizeAH, tblBatteries.Voltage
FROM tblBatteries IN @DB;
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜