1
在Informix中是否有一種方法可以創建一個名爲或未命名的ROW類型,以便您可以將選擇產生的行放入?我正在使用存儲過程。將選擇行保存到變量中並使用informix訪問其字段
我要的是這樣的:
DEFINE ROW rowVar;
SELECT * INTO rowVar FROM myTableName;
一直沒能找到正確的語法爲止。我希望行對象表現得像SAMEAS和表列一樣。
在Informix中是否有一種方法可以創建一個名爲或未命名的ROW類型,以便您可以將選擇產生的行放入?我正在使用存儲過程。將選擇行保存到變量中並使用informix訪問其字段
我要的是這樣的:
DEFINE ROW rowVar;
SELECT * INTO rowVar FROM myTableName;
一直沒能找到正確的語法爲止。我希望行對象表現得像SAMEAS和表列一樣。
在Informix存儲過程語言(SPL)中不可能使用「未定義的」ROW
類型。 如果您嘗試以下方法(使用Informix 12.10.FC8DE):
CREATE PROCEDURE sp_dummy();
DEFINE generic_row ROW;
END PROCEDURE;
它返回以下錯誤:
-999 Not implemented yet.
的Informix manual似乎並不正確:
The following statements show examples of generic ROW variables and named ROW variables:
DEFINE d ROW; -- generic ROW variable
如果你定義了ROW
的字段,那麼你可以在SPL中使用它。
我的直接反應是'不'。對第二個想法的短暫停頓意味着'如果你適當地改變了'*',你可能會做到這一點'。但是,這可能不是你想到的,我需要考慮如何實際做到這一點 - 例如,我懷疑你會被要求列出'*'展開的名稱。 –
SELECT INTO只能用於將結果集存儲在臨時表中。行只能存在於表內,而不能自行存在。 –