sql - Stored Procedure cant detect SET? -


im trying make stored procedure reads different .dbf files every time execute it, making dynamic stored procedure. problem is, im not in sql yet , im having errors. error:

procedure or function 'readdbf' expects parameter '@sql', not supplied.

i know missing and/or making makes stored procedure not understand please can point in in right direction?

this code:

`

use devssis  go  exec master.dbo.sp_msset_oledb_prop n'vfpoledb', n'allowinprocess', 1  go create procedure readdbf ( @path nvarchar(1000), @name nvarchar(50), @sql varchar(max) ) begin set @sql = 'select * openrowset(''vfpoledb.1'', ''' + @path +'''; ''; '', ''select * ''' + @name + ''')' end exec @sql go 

`

im using sql 2005 btw

i suspect want define @sql local variable in stored procedure, not parameter:

create procedure readdbf (   @path nvarchar(1000),   @name nvarchar(50) ) begin     declare @sql nvarchar(max)     set @sql = 'select * openrowset(''vfpoledb.1'', ''' + @path +'''; ''; '', ''select * ''' + @name + ''')';     exec(@sql); end; 

if learning dynamic sql, should learning use sp_executesql rather exec.


Comments

Popular posts from this blog

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

php - render data via PDO::FETCH_FUNC vs loop -

The canvas has been tainted by cross-origin data in chrome only -