有没有人能告诉我如何在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
答案 0 :(得分:2)
DECLARE
是匿名PL / SQL块的开始,您的SELECT
也需要在BEGIN
和END
之间。但你也需要选择一些东西。
如果您只想查看所选行的连续行数,可以使用rownum
pseudocolumn:
SELECT rownum AS rowCount, t.username FROM USER t
(您也不能使用AS t
,只能使用AS
来对列进行别名...)
此方法适用于您的最终目标,您可以将substr
与rownum
SELECT rownum AS rowCount, t.username,
substr(t.username, 1, 5) || rownum as newname
FROM USER t
但实际上不要使用reserved word作为表名。