获取错误 "Error occurred during SQL query execution "
Getting Error as "Error occurred during SQL query execution "
运行以下脚本时出错
Error: Error occurred during SQL query execution
Reason:
SQL Error [1]: [SQLITE_ERROR] SQL error or missing database (near "SET": syntax error)
测试数据创建脚本:
SET NOCOUNT ON
DECLARE @counter int = 1
WHILE (@counter <= 100)
BEGIN
DECLARE @deptno number = 'deptno ' + RTRIM(@counter)
DECLARE @name varchar2(50) = 'ABC ' + RTRIM(@counter)
DECLARE @location varchar2(50) = 'xyz' + RTRIM(@counter) + '-USA'
INSERT INTO DEPARTMENTS
VALUES (@deptno, @name, @location)
SET @counter = @counter +1
IF (@counter%10 = 0)
PRINT RTRIM(@counter) + 'rows inserted.'
END;
SqLite 不支持该脚本中的变量。
(看起来像 T-SQL 脚本)
但您也可以通过递归 CTE 生成这些记录。
WITH RECURSIVE RCTE AS (
SELECT 1 as n
UNION ALL
SELECT n+1
FROM RCTE
WHERE n < 100
)
INSERT INTO DEPARTMENTS (
deptno,
name,
location
)
SELECT n AS deptno
, ('ABC ' || n) AS name
, ('xyz ' || n || '-USA') AS location
FROM RCTE;
select * from DEPARTMENTS order by deptno desc limit 3;
deptno
name
location
100
ABC 100
xyz 100-USA
99
ABC 99
xyz 99-USA
98
ABC 98
xyz 98-USA
演示 db<>fiddle here
运行以下脚本时出错
Error: Error occurred during SQL query execution
Reason:
SQL Error [1]: [SQLITE_ERROR] SQL error or missing database (near "SET": syntax error)
测试数据创建脚本:
SET NOCOUNT ON
DECLARE @counter int = 1
WHILE (@counter <= 100)
BEGIN
DECLARE @deptno number = 'deptno ' + RTRIM(@counter)
DECLARE @name varchar2(50) = 'ABC ' + RTRIM(@counter)
DECLARE @location varchar2(50) = 'xyz' + RTRIM(@counter) + '-USA'
INSERT INTO DEPARTMENTS
VALUES (@deptno, @name, @location)
SET @counter = @counter +1
IF (@counter%10 = 0)
PRINT RTRIM(@counter) + 'rows inserted.'
END;
SqLite 不支持该脚本中的变量。
(看起来像 T-SQL 脚本)
但您也可以通过递归 CTE 生成这些记录。
WITH RECURSIVE RCTE AS ( SELECT 1 as n UNION ALL SELECT n+1 FROM RCTE WHERE n < 100 ) INSERT INTO DEPARTMENTS ( deptno, name, location ) SELECT n AS deptno , ('ABC ' || n) AS name , ('xyz ' || n || '-USA') AS location FROM RCTE;
select * from DEPARTMENTS order by deptno desc limit 3;
deptno | name | location |
---|---|---|
100 | ABC 100 | xyz 100-USA |
99 | ABC 99 | xyz 99-USA |
98 | ABC 98 | xyz 98-USA |
演示 db<>fiddle here