我很难在互联网上找到这个……
我需要在 Dapper + MySQL 中运行attnum
命令,并在SQL Server中执行如下查询:
QueryMultiple
当然,DECLARE @clientDomain VARCHAR(64) SET @clientDomain = 'some-domain';
DECLARE @sessionId VARCHAR(64) SET @sessionId = 'd09a8sd09a7g8gh';
SELECT *
FROM sessions.Sessions Sessions
WHERE Sessions.ClientDomain = @clientDomain AND Sessions.SessionId = @sessionId;
SELECT *
FROM sessions.PageVisits PageVisits
WHERE PageVisits.SessionClientDomain = @clientDomain AND PageVisits.SessionId = @sessionId
和@clientDomain
将作为@sessionId
方法中的查询参数正确传递,但是我正在 MySQL Workbench < / strong>,所以我已经在那里声明了要开发的变量。
我无法使其在Workbench中运行,我想它也不能在Dapper中工作。
我尝试过的示例:
并使用QueryMultiple
/ BEGIN
:
我已经经历过:https://dev.mysql.com/doc/refman/5.6/en/sql-syntax-compound-statements.html,并尝试了带有标签,不带有标签等的变体。
注意:我不想编写存储过程。我想要的最终结果 是一个.sql文件,我将其作为嵌入资源包含在 项目,然后在运行时从代码中加载它。
我正在使用MySQL 5.6,Workbench Community 8.0.15。
我想念什么?
在Jane在下面发表评论后,我有两个工作版本:
END
还有一个带有START TRANSACTION;
SET @clientDomain = 'some-domain';
SET @sessionId = 'd09a8sd09a7g8gh';
SELECT *
FROM sessions.Sessions Sessions
WHERE Sessions.ClientDomain = @clientDomain AND Sessions.SessionId = @sessionId;
SELECT *
FROM sessions.PageVisits PageVisits
WHERE PageVisits.SessionClientDomain = @clientDomain AND PageVisits.SessionId = @sessionId;
COMMIT;
但没有BEGIN;
的文件(如果尝试,我会收到一条错误消息,告诉我要寻找有关如何正确编写END;
语句的文档):
END
我将第一个(BEGIN;
SET @clientDomain = 'some-domain';
SET @sessionId = 'd09a8sd09a7g8gh';
SELECT *
FROM sessions.Sessions Sessions
WHERE Sessions.ClientDomain = @clientDomain AND Sessions.SessionId = @sessionId;
SELECT *
FROM sessions.PageVisits PageVisits
WHERE PageVisits.SessionClientDomain = @clientDomain AND PageVisits.SessionId = @sessionId;
)设置为START TRANSACTION
。
答案 0 :(得分:2)
我相信您正在寻找START TRANSACTION
START TRANSACTION;
DECLARE @clientDomain VARCHAR(64) SET @clientDomain = 'some-domain';
DECLARE @sessionId VARCHAR(64) SET @sessionId = 'd09a8sd09a7g8gh';
SELECT *
FROM sessions.Sessions Sessions
WHERE Sessions.ClientDomain = @clientDomain AND Sessions.SessionId = @sessionId;
SELECT *
FROM sessions.PageVisits PageVisits
WHERE PageVisits.SessionClientDomain = @clientDomain AND PageVisits.SessionId = @sessionId
COMMIT;