固定长度或者有一定生成规律的只读数组可以用table values语句来实现,或者用with表达式来实现更复杂一点的逻辑. 不过这也只能解决一部分问题.select * from table(values(1),(2),(3)) as t(a)with t(a) as ( values 1 union all select t.a + 1 from t where t.a<99) select * from t;但要在这个数组里面做删除,改变元组的操作就不适用了.