使用电源查询发送几个顺序查询



亲爱的兄弟中=)

到目前为止,我已经使用Power查询很长时间来与SQL Server通信。我现在已经如何使用插入...,更新...,删除...指令将数据从Excel表发送到SQL表。

但是,当我试图

时,我遇到了一个问题
  1. 创建表
  2. 用Excel表中的数据填充它。

我明白,只是不知道,如何使用

发送2个顺序查询
  1. 创建模式...&创建表...指令
  2. 将插入到...指令中,将此查询表列作为参数

当前我的PQ函数看起来像这样(注释的部分是我在从Excel启动PQ函数之前在SSM中手动执行的操作):

(mCourses, mSQLCourseCode, mOwnToolkit, mTuition, mToolkit, mTuitionDeposit, mInstalments, mAcadDuration, mType, mDateOfUpload)=>
let
    Source = Sql.Database("<a.d.re.ss>", "<DB.Name>", 
[Query="
use EnvirotechFinance
--GO
--if schema_id('price') is null
--execute('CREATE SCHEMA price');
--GO
--drop table if exists price.Price
--Create table price.Price 
--(
--  Courses             nvarchar(255),
--  SQLCourseCode       nvarchar(255),
--  OwnToolkit          int,
--  Tuition             decimal(12,5),
--  Toolkit             decimal(12,5),
--  TuitionDeposit      decimal(12,5),
--  Instalments         int,
--  AcadDuration        int,
--  Type                int,
--  DateOfUpload        date
--)

insert into price.Price 
(       Courses,
        SQLCourseCode,
        OwnToolkit,
        Tuition,
        Toolkit,
        TuitionDeposit,
        Instalments,
        AcadDuration,
                Type,
                DateOfUpload
                        )
Values ('" & mCourses &"', '"& mSQLCourseCode &"', '"& mOwnToolkit &"', '"& mTuition &"', '"& mToolkit &"', 
'"& mTuitionDeposit &"','"& mInstalments &"', '"& mAcadDuration &"', '" & mType & "', '" & mDateOfUpload & "')
"])
in 
    Source

您可以迈出另一个步骤,该步骤取决于Source步骤,该步骤也与第二个查询一起调用Sql.Database

但是,以这种方式使用电源查询是高度灰心的。本机查询应用于复杂的读取查询或存储过程,但不应用于修改数据库本身。换句话说,应避免在电源查询中运行插入或删除操作。这是因为电源查询可能会多次重新评估查询,因此您最终可以比您预期的多次插入一行。

最新更新