在 Java 中声明一个 SQL 变量

Declare an SQL variable in Java

我已将 Java 连接到 SSMS,并且可以使用类似这样的方式从服务器调用数据没有问题:

String cell = "SELECT [Close] FROM ExcelData WHERE id_num = 3";
Statement st4 = con.createStatement();
ResultSet rs4 = st4.executeQuery(cell);

while (rs4.next())
{
    Float close = rs4.getFloat("close");
    System.out.format("%s\n", close);
}

当我将 "SELECT [Close] FROM ExcelData WHERE id_num = 3" 替换为 "SELECT @SMA" 时,我得到了很多质疑“必须声明标量变量 @SMA

我不知道该怎么做。

回答我自己的问题以帮助可能需要了解此信息的其他人... 这是不可能的。解决方法是在 SQL 中创建一个 table 并将变量插入 table.

DROP TABLE IF EXISTS SMA
CREATE TABLE SMA  (
SMA_Price DECIMAL (6,5),
)
INSERT INTO SMA VALUES (@SMA);

SELECT * FROM SMA;

然后您可以从 Java 调用 "SELECT * FROM SMA"。