【发布时间】:2021-06-27 14:43:55
【问题描述】:
我试图在 Excel VBA 中分解我的 SQL 字符串,将我的变量存储在 SQL 的第一部分,并在第二部分调用它们。看来声明的变量不是我这里的朋友?
第一部分(声明我的变量)
Dim rst As ADODB.Recordset
Dim cnn As ADODB.Connection
Dim sSQL As String
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseClient
rst.LockType = adLockReadOnly
Set cnn = New ADODB.Connection
cnn.CommandTimeout = GCL_dbTimeout
cnn.Open "XXX"
rst.ActiveConnection = cnn
sSQL = "DECLARE @Id AS INT = 1234 ; SELECT @Id AS [Id] INTO #cte_TEMP;"
cnn.Execute (sSQL)
第二部分(调用我的变量)
使用临时表有效:
rst.Open "SELECT * FROM #cte_TEMP;"
但调用变量不会:
rst.Open "SELECT @Id;"
【问题讨论】:
标签: sql sql-server excel vba