0

谁能告诉我一个例子,你将如何在 Oracle 中运行这种类型的 MySQL 样式查询?

SET @counter = 0;

SELECT (@counter+1) AS rowCount, t.username FROM USER AS t

我见过各种显示 DECLARE 或 DEFINE 的例子,比如

DECLARE
counter SMALLINT := 0;

SELECT (counter+1) AS rowCount, t.username FROM USER AS t

但是它们似乎都不起作用,我只是不断收到诸如“从命令中的第 1 行开始的错误:”之类的错误(不是很有帮助!)。

问候

KS

4

1 回答 1

2

DECLARE是匿名 PL/SQL 块的开始,您SELECT也需要在块中,介于 aBEGINEND. 但你也需要选择一些东西。

如果您只想查看所选行的连续行数,可以使用rownum列:

SELECT rownum AS rowCount, t.username FROM USER t

(你也不能使用AS t,你只能使用AS别名列...)

这种方法适用于您的最终目标,您可以substrrownum

SELECT rownum AS rowCount, t.username,
    substr(t.username, 1, 5) || rownum as newname
FROM USER t

但真的不要使用保留字作为表名。

于 2013-05-13T10:57:36.270 回答