亲爱的兄弟中=)
到目前为止,我已经使用Power查询很长时间来与SQL Server通信。我现在已经如何使用插入...,更新...,删除...指令将数据从Excel表发送到SQL表。
但是,当我试图
时,我遇到了一个问题- 创建表
- 用Excel表中的数据填充它。
我明白,只是不知道,如何使用
发送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
。
但是,以这种方式使用电源查询是高度灰心的。本机查询应用于复杂的读取查询或存储过程,但不应用于修改数据库本身。换句话说,应避免在电源查询中运行插入或删除操作。这是因为电源查询可能会多次重新评估查询,因此您最终可以比您预期的多次插入一行。