在 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"。
我已将 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"。