gpt4 book ai didi

stored-procedures - 如何制作 Firebird SP,从一些动态表中获取行?

转载 作者:行者123 更新时间:2023-12-04 19:47:33 25 4
gpt4 key购买 nike

我的表有一些用户不能知道的内部前缀。
所以我做了一个这样的 SP 来检索行。

CREATE PROCEDURE p_Test  
( inStation varchar(10) )
RETURNS
( ServiceName varchar(20) )
AS
DECLARE VARIABLE StationTable varchar(20);
BEGIN
StationTable = 'TSTATION_' || Upper(Trim(inStation));

SELECT StationTable.ServiceName
FROM StationTable
INTO :ServiceName;
suspend;

END^

然后我收到这样的失败消息

SQL error code = -204
Table unknown
STATIONTABLE

我的fbclient.dll版本是2.1.2.18118。
我的测试环境是Flamerobin 0.9.2.1851。

有什么想法可以让这项工作成功吗?

最佳答案

你可以尝试使用执行 block :

execute block (inStation varchar(10) = ?)
returns (ServiceName = varchar(20))
as
DECLARE variable SQL Varchar(300);
DECLARE VARIABLE StationTable varchar(20);
begin
StationTable = 'TSTATION_' || Upper(Trim(inStation));
SQL := 'SELECT ' || StationTable ||'.ServiceName FROM ' || StationTable || ' INTO :ServiceName;';
execute STATEMENT sql;
SUSPEND;
end

检查 here

关于stored-procedures - 如何制作 Firebird SP,从一些动态表中获取行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2224418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com