我正在尝试从vba中调用这样的存储函数:
SELECT my_function();
如果是存储过程,它将是这样的:
CALL my_procedure();
对于我可以使用的存储过程:
Dim cmd As Object
Set cmd = CreateObject("ADODB.Command")
With cmd
Set .ActiveConnection = oConn 'ADODB connection created elsewhere
.CommandType = adCmdStoredProc
.CommandText = "my_procedure"
End With
cmd.execute
具体来说,我想知道函数是否有相同的'adCmdStoredProc'?
答案 0 :(得分:1)
“具体来说,我想知道是否有相同的'adCmdStoredProc'用于函数?”
但是你正在使用的SQL是一个引用函数的SELECT:
SELECT my_function();
CommandTypeEnum 中有7个选项。 adCmdUnspecified 应该有效;可能 adCmdUnknown 。我会使用 adCmdText ,但它并不是“等同于” adCmdStoredProc 的函数。
CommandTypeEnum Constants
Constant Value Description
adCmdFile 256 Evaluate as a previously persisted file
adCmdStoredProc 4 Evaluate as a stored procedure
adCmdTable 2 Have the provider generate a SQL query and return all rows from the specified table
adCmdTableDirect 512 Return all rows from the specified table
adCmdText 1 Evaluate as a textual definition
adCmdUnknown 8 The type of the CommandText parameter is unknown
adCmdUnspecified -1 Default, does not specify how to evaluate
答案 1 :(得分:0)
您是否尝试将其作为SELECT
声明运行?
SELECT *
FROM my_function()