标签: sqlfiddle

SQL小提琴输出错误

实际上我是PL/SQL的新手

我在SQL Fiddle中使用oracle pl/sql创建了下表

create table Employee(name varchar2(100),id integer, salary integer,PRIMARY KEY(id));
insert into Employee(name,id,salary) values('sa',94,100);
insert into Employee(name,id,salary) values('pr',88,150);
insert into Employee(name,id,salary) values('ji',33,900);
insert into Employee(name,id,salary) values('na',24,880);
insert into Employee(name,id,salary) values('po',65,770);
insert into Employee(name,id,salary) values('ri',69,910);
insert into Employee(name,id,salary) values('uj',12,650);
insert into Employee(name,id,salary) values('ad',43,440);
insert into Employee(name,id,salary) values('sam',40,550);
Run Code Online (Sandbox Code Playgroud)

我执行了以下查询

 DECLARE
 employee_record Employee%ROWTYPE;
 BEGIN
 select * into employee_record from Employee where id>90;
 dbms_output.put_line(employee_record.name||' '||employee_record.id||' '||employee_record.salary);
 END;
 /
Run Code Online (Sandbox Code Playgroud)

我得到以下输出

Record Count: 0; Execution Time: 2ms 
Run Code Online (Sandbox Code Playgroud)

它应该打印员工记录中的值,对吧?我的SQL查询中有什么问题或sql小提琴无法显示dbms_output的一些问题?

oracle plsql sqlfiddle

5
推荐指数
2
解决办法
2666
查看次数

在SQLite中使用ID选择多行

我正在尝试使用WHERE所需行ID上的条件从SQLite数据库查询特定行。但是,该查询未返回任何结果,并且导致我的记录器引发错误,指出存在语法错误。

这是查询:

Select * From Equipment Where ID = 2 and ID = 3 and ID = 4 and ID = 7 and ID = 11 and ID = 34
Run Code Online (Sandbox Code Playgroud)

这是我的日志中的语法错误:

Aug 17 2017 23:12:23  [Err]: Err002 - Query on Equipment could not be prepared: near "=": syntax error at File: c:\users\geowil\documents\visual studio 2015\projects\ov_pocs\universearc_poc\datasystem.cpp  Line: 323.
Run Code Online (Sandbox Code Playgroud)

所以我航行到SQLFiddle尝试看看是否错过了一些东西。它显示相同的行为。在and有条件的情况下,它不会返回任何结果-但可以对单个ID或一系列ID运行查询。

我是在做错什么还是这是SQLite的限制?

更新:

产生了脑波。Where ID IN(1,3,4)在SQLFiddle上使用Works,所以现在我想重新调整问题的用途,以问问为什么这样做,但是我原来的查询却没有。

sqlite syntax-error sqlfiddle

5
推荐指数
1
解决办法
3844
查看次数

如何用层次关系表示多列的范围?

我正在将旧的会计软件移植到 SQL。这是由会计科目表组成的示例:

帐户 子账户 子帐目 子子子帐目 帐号 姓名
1110 0 0 0 1110 银行
1110 1 0 0 1110-1 美国银行
1110 1 1 0 1110-1-1 银行一
1110 1 1 1 1110-1-1-1 第一银行 #123456
1110 1 1 2 1110-1-1-2 第一银行#234567
1110 1 1 11 1110-1-1-11 第一银行 #11223344
1110 1 2 0 1110-1-2-0 银行二
1110 1 2 1 1110-1-2-1 第二银行#876543
1110 2 0 0 1110-2 外资银行
1110 2 1 0 1110-2-1 日本一号#556677
1120 0 0 0 1120 应收账款
1120 1 0 0 …

sql t-sql sql-server sqlfiddle

5
推荐指数
3
解决办法
462
查看次数

我的SQL Fiddle查询出了什么问题?

在SQL小提琴中查看这个简单的查询:http://sqlfiddle.com/#!2/ c1eb6/1 .这是一个超级简单的更新查询,为什么会产生错误?我想知道它是否可能是该网站的一个错误?

构建架构:

create table your_table (some_column varchar(50));

insert into your_table set some_column = '30# 11';
insert into your_table set some_column = '30# 12.00';
insert into your_table set some_column = '30# 13.5';
insert into your_table set some_column = 'abdfs';
insert into your_table set some_column = '0000000';
Run Code Online (Sandbox Code Playgroud)

查询:

UPDATE your_table
SET some_column = 1;
Run Code Online (Sandbox Code Playgroud)

mysql sqlfiddle

4
推荐指数
1
解决办法
7593
查看次数

ORA-00933:SQL命令未在insert命令中正确结束

这个标题有很多问题,但我找不到答案.

我究竟做错了什么?

CREATE TABLE J
    (A integer)
;

INSERT INTO J (A)
VALUES
    (1),
    (2),
    (3),
    (4),
    (5),
    (6),
    (7),
    (8),
    (9),
    (10)
;
Run Code Online (Sandbox Code Playgroud)

create单独的作品.问题只是插入.我试过SQL Fiddle.

oracle sqlfiddle

3
推荐指数
1
解决办法
9111
查看次数

SQLFiddle:必须声明标量变量错误

我正在尝试执行下一个SQL语句(SQL Server 2008 Profile)

DECLARE @fun int;
SET @fun = 40;

select cast(@fun as varchar(10)) + 'hello'
Run Code Online (Sandbox Code Playgroud)

和SQLFiddle给我错误: Must declare the scalar variable @fun

哪里我错了?

在此输入图像描述

http://sqlfiddle.com/#!3/d41d8/42156

sql sqlfiddle

3
推荐指数
2
解决办法
1986
查看次数

sqlfiddle中的错误或者我不明白INSERT ... ON DUPLICATE KEY UPDATE

这个sqlfiddle链接似乎在调用期间保持状态:http://sqlfiddle.com/#!2/125bc/1

它包含mysql的这个模式:

CREATE TABLE if not exists  `standings` (
  `teamid` int(11) NOT NULL,
  `win` decimal(23,0) default NULL,
  `tie` decimal(23,0) default NULL,
  `lose` decimal(23,0) default NULL,
  PRIMARY KEY  (`teamid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


INSERT INTO `standings` (`teamid`, `win`, `tie`, `lose`) VALUES
(1, 3, 0, 0),
(2, 1, 1, 1),
(3, 1, 1, 1),
(4, 0, 0, 3);


CREATE TABLE if not exists `newscores` (
  `recordid` int(11) NOT NULL auto_increment,
  `teamid` int(11) NOT NULL,
  `gameid` int(11) NOT NULL,
  `totalstrokes` int(11) …
Run Code Online (Sandbox Code Playgroud)

mysql sql sqlfiddle

2
推荐指数
1
解决办法
2435
查看次数

不能在SQL Fiddle上将INSERT STATEMENT放在TRIGGER体内

我有一个简单的触发器,它在SQL Fiddle上运行,但它不允许我在触发器的主体内移动我的INSERT STATEMENT. 我在sqlFiddle上的代码 我只是想移动这一行

INSERT INTO t2(start_date) VALUES (CURDATE());
Run Code Online (Sandbox Code Playgroud)

在这个触发器的主体内部

CREATE TRIGGER trig1
AFTER UPDATE ON t1
FOR EACH ROW 
BEGIN
  -- here, i want to put the simple INSERT STATEMENT here
END;
Run Code Online (Sandbox Code Playgroud)

似乎无法在sqlFiddle上接受它
当我尝试它

CREATE TRIGGER trig1
AFTER UPDATE ON t1
FOR EACH ROW 
BEGIN
  INSERT INTO t2(start_date) VALUES (CURDATE());
END;
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误:架构创建失败:您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第4行的''附近使用正确的语法:

mysql sqlfiddle

2
推荐指数
1
解决办法
772
查看次数

演示索引SQL表的性能优势

我一直听说一个SQL表的"正确"索引是性能的关键.我从来没有见过这个真实世界的例子,并希望使用SQLFiddle制作一个,但不确定SQL语法是这样做的.

假设我有3个表:1)Users2)Comments3)Items.我们还要说任何用户都可以评论每个项目.所以在这里得到item = 3的注释是SQL的SELECT样子:

SELECT * from comments join users on comments.commenter_id=users.user_id 
WHERE comments.item_id=3
Run Code Online (Sandbox Code Playgroud)

我听说一般来说,如果行数变大,即数千/百万,则应该将索引放在ed列WHEREJOINed列上.所以在这种情况下,comments.item_idcomments.commenter_id,和users.user_id.

我想建立一个SQLFiddle来比较这些表的索引与不使用每个表的数千,数百万行.可能有人帮助生成这个SQLFiddle?

mysql sql indexing join sqlfiddle

1
推荐指数
1
解决办法
932
查看次数

标签 统计

sqlfiddle ×9

mysql ×4

sql ×4

oracle ×2

indexing ×1

join ×1

plsql ×1

sql-server ×1

sqlite ×1

syntax-error ×1

t-sql ×1