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
Post a Comment