2

この質問はただの楽しみです。

-- Prepare scheme
CREATE USER "AS" IDENTIFIED BY 123;
ALTER USER "AS" DEFAULT TABLESPACE "USERS" QUOTA 5M ON "USERS";
CREATE TABLE "AS"."AS" ("AS" INT);

-- Now we are ready to have fun
select "AS"."AS" AS "AS" from "AS"."AS" "AS";  -- Rate = 7/9 ~ 78%

あなたはこの記録を破ることができますか?
のような文字列リテラル'AS'は使用できません。

4

2 に答える 2

3

REFタイプを行うと、多くのことを行うことができます。

SQL> create or replace type "AS" as object (id number, "As" ref "AS") ;
  2  /

Type created.

SQL> CREATE TABLE "as" OF "AS";

Table created.

SQL> select ("As")."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
  2         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
  3         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
  4         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
  5         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
  6         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
  7         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
  8         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
  9         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 10         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 11         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 12         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 13         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 14         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 15         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 16         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 17         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 18         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 19         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 20         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 21         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 22         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 23         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 24         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 25         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 26         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 27         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 28         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"
 29         ."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As"."As" "AS"
 30      from "as" "AS";

no rows selected

など..あまりにも多くの As を入力するのに飽きました。

于 2013-03-15T14:35:51.960 に答える
2

そのような AS 密度を打ち負かすのは難しいですが、代わりに Cast()、共通テーブル式、パーティション化されたテーブル、およびフラッシュバック クエリを使用して量を増やします...

with "as" AS (
  select cast("AS"."AS" AS integer) AS "AS"
  from  "AS"."AS" partition ("AS") "AS" AS of scn 1234567)
select "as"."as"
from   "as"

そこにもdblinkを平手打ちできるかもしれませんが、構文が有効かどうかはわかりません...

with "as" AS (
  select cast("AS"."AS" AS integer) AS "AS"
  from  "AS"."AS"@"AS" partition ("AS") "AS" AS of scn 1234567)
select "as"."as"
from   "as"
于 2013-03-15T11:25:45.620 に答える