SQL openrowset的动态查询如何实现

sql
711
2024/8/12 13:17:12
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要实现动态查询,可以使用变量将查询语句存储在变量中,然后使用该变量作为参数传递给openrowset函数。

以下是一个示例:

DECLARE @query NVARCHAR(MAX)
DECLARE @filepath NVARCHAR(MAX)

SET @filepath = 'C:\data\example.csv'
SET @query = 'SELECT * FROM OPENROWSET(''Microsoft.ACE.OLEDB.12.0'', 
    ''Text;Database=' + @filepath + ';HDR=Yes'', 
    ''SELECT * FROM [example.csv]'')'

EXEC(@query)

在这个示例中,我们定义了一个变量@query来存储查询语句,然后将文件路径存储在另一个变量@filepath中。然后,我们使用这两个变量来构建动态查询,并使用EXEC函数来执行这个查询。

请注意,使用动态查询时要格外小心,因为它可能会引起SQL注入攻击。确保对输入进行适当的验证和清理,以防止不良行为。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: sql语句的round函数怎么使用