【发布时间】:2021-02-23 07:07:02
【问题描述】:
我尝试使用 Teradata.Client.Provider 从 .NET 代码创建存储过程。
我使用了这样的查询:
"REPLACE PROCEDURE test_db.testproc() BEGIN END;"
所有代码:
...
var connectionTd = new TdConnection("[ConnectionString]");
var cmdTd = connectionTd.CreateCommand();
cmdTd.CommandText = "REPLACE PROCEDURE test_db.testproc() BEGIN END;";
connectionTd.Open();
cmdTd.ExecuteNonQuery();
...
但我得到一个错误:
[Teradata Database] [3706] 语法错误:无效的 SQL 语句。
在像 dBeaver 这样的 IDE 中一切正常。
附: 来自this 页面的示例会导致相同的错误。
【问题讨论】:
-
您在调用哪个方法?推荐的方法是
cmd.ExecuteCreateProcedure。不知道为什么您链接的示例引用了cmd.ExecuteNonQuery。 -
@Fred 这是一个很好的说明!如果您将其格式化为答案,我可以将其标记为正确!并告诉我文档在哪里说的......
标签: c# sql .net stored-procedures teradata