gpt4 book ai didi

sql - 如何将 SQL 消息选项卡输出插入表中?

转载 作者:行者123 更新时间:2023-12-05 00:01:26 25 4
gpt4 key购买 nike

如何将以下 sql 查询的消息选项卡结果插入 TableTest2 ?

CREATE TABLE TableTest2 (InsertOutput VARCHAR(100))
CREATE TABLE TestTable (ID INT, msg VARCHAR(50))
INSERT TestTable (ID, msg)
VALUES (1, 'Message 1'), (2,'Message 2')
DROP table TestTable

以下是运行上述查询的结果:
(2 row(s) affected)

如何将上述结果插入 TableTest2 ?

最佳答案

捕获实际输出的唯一方法是使用 C#(或任何其他非 sql 语言)来执行命令。这可以在 CLR 扩展中完成。 tSQLt 数据库单元测试框架包含过程 tSQLt.CaptureOutput 以捕获输出以进行测试。您可以在 http://sourceforge.net/p/tsqlt/code/219/tree/tSQLtCLR/tSQLtCLR/TestDatabaseFacade.cs 中看到它如何使用 OnInfoMessage 事件处理程序。在 executeCommand 方法中(从第 64 行开始):

    public SqlDataReader executeCommand(SqlString Command)
{
infoMessage = SqlString.Null;
connection.InfoMessage += new SqlInfoMessageEventHandler(OnInfoMessage);
SqlCommand cmd = new SqlCommand();

cmd.Connection = connection;
cmd.CommandText = Command.ToString();

SqlDataReader dataReader = cmd.ExecuteReader(CommandBehavior.KeyInfo);

return dataReader;
}

protected void OnInfoMessage(object sender, SqlInfoMessageEventArgs args)
{
if (infoMessage.IsNull)
{
infoMessage = "";
}
infoMessage += args.Message + "\r\n";
}

如果您只是想将其用于测试目的,请查看 tSQLt.org 开源 tSQLt 单元测试框架有助于解决自动化测试中经常遇到的许多问题。

关于sql - 如何将 SQL 消息选项卡输出插入表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18065126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com