如何将绑定变量传递给for循环的视图

时间:2016-09-09 15:23:11

标签: oracle plsql dynamic-sql

我必须部署我的sql脚本,为此我在一个文件中定义了变量,在另一个文件中创建了脚本。

文件1:

exec sp_executesql N'EXEC dbo.CSDN_CreateDemandeAppro @sp1, @sp2, @sp3, @sp4',N'@sp1 nvarchar(8),@sp2 nvarchar(3),@sp3 nvarchar(12),@sp4 decimal(4,2)',@sp1=N'20162017',@sp2=N'590',@sp3=N'430614451421',@sp4=22.18

DEFINE hr_SCHEMA = hr; 文件2:

string path = @"Users.xlsx";
var excel = new ExcelQueryFactory(path);
return (from c in excel.Worksheet<User>()
    select c).OrderBy(a => a.Name).ToList();

1 个答案:

答案 0 :(得分:0)

你在哪里执行这个?匿名PLSQL不跨块共享变量。没有&#34;全球&#34;变量,因此无法通过&amp;访问它。你的选择是: 在SQLPLUS中,您可以定义一个变量并使用它,或者使用变量创建一个PLSQL包,从而使其成为全局变量。或者,使用数据库并将值存储在(临时)表中,然后选择它以在第二个脚本中使用。 此外,从来没有我们自己的匿名块。 Always use a package(你的param传递问题也解决了。)