SQL Procedure文件路径作为参数

时间:2019-05-16 15:03:25

标签: sql parameters filepath procedure

我有以下过程,该过程从文件读取json数据并将其存储在表中。现在,我需要更改它,以便文件路径是一个参数。我尝试过,尽管没有运气。谢谢

CREATE PROCEDURE main.loadData
AS
BEGIN
        DECLARE @jsonVariable NVARCHAR(max);
        SELECT @jsonVariable = BulkColumn
        FROM OPENROWSET (BULK 'C:\data.json', SINGLE_CLOB) as j;

INSERT INTO main.jsonData(restaurant, priceRange, country, score,         
reviewDate)
    SELECT * FROM OPENJSON(@jsonVariable, '$.reviews.row')
    WITH
    (
        restaurant VARCHAR(100) '$.restaurant',
        priceRange VARCHAR(50) '$.priceRange',
        country VARCHAR(50) '$.country',
        score INTEGER '$.score',
        reviewDate DATETIME '$.reviewDate'
    );  
END;
GO

1 个答案:

答案 0 :(得分:1)

要使文件路径进入批量语句,您需要使用动态SQL,如下所示:

@SecondaryTable