我被FbException困住了
SQL错误代码= -104
令牌未知-第2行,第4列
。
当试图运行此代码时
var result = from x in _context.Bunts
select x;
我检查了EF生成的查询
SELECT
"A"."BUNTCODE" AS "BUNTCODE",
"A"."BUNTNAME" AS "BUNTNAME",
"A"."BUNTDIAM" AS
我需要将一个新的Firebird生成器/序列初始化为现有‘旧’表的最大主键值。我尝试了以下方法,但它不起作用,我得到错误“令牌未知-行6,列8选择”。我不能手动做这件事,因为它必须在许多不同的数据库上执行。我使用的是Firebird 2.5.1。
根据的说法,这应该是可行的--我做错了什么?
set term #;
execute block
as
declare i int = 0;
begin
i = select max(ID) from OrganizationType_OLU;
alter sequence OrganizationType_OL
我在用Firebird编写存储过程方面是很新的,我写了我在互联网上看到的任何东西,但是我得到了令牌未知的错误。这是我非常简单的代码
CREATE or ALTER PROCEDURE TRIAL
(
IN_ID DCOUNTER
)
AS
begin
SELECT * FROM table1
end
错误是:
动态SQL错误
SQL错误代码= -104
令牌未知-第13行,第1列
结束
我怎么才能解决这个问题?我试着添加和删除一些分号,结尾,开始。
我想返回已被DELETE查询删除的I。
在Stackoverlow上,我发现了这个:
top1答案有一个非常好的解决方案,但它是针对mysql的。在阅读了Firebird手册的某些部分后,我尝试在Firebird中做同样的事情:
set term ^ ;
EXECUTE BLOCK
AS
DECLARE VARIABLE uids BLOB SUB_TYPE TEXT;
begin
DELETE FROM CATEGORY WHERE name = 'Haló'
AND ( SELECT id INTO :uids );
SELECT @uid
此查询正在向firebird抛出错误,如何解决该错误?
SELECT EMPNO,SAL
FROM EMP E
where EMPNO = (SELECT MAX(DEPTNO) FROM DEPT D WHERE E.ENAME NOT like (SELECT TOP 1 ENAME
FROM emp E1
我需要为存储过程中的临时表创建一个DDL语句(Firebird 2.5);
我知道我需要使用动态SQL的EXECUTE语句;
尽管存储过程本身已成功执行并提交,但每次运行存储过程时,都会在IBExpert中得到某种动态SQL错误。
我需要关于如何在Firebird存储过程中编写动态SQL代码的精确语法和一步一步的方法,该方法创建一个包含20列的全局临时表(GTT),并从另一个存储过程(包含20列的客户端存储过程)插入数据。
我从GTT (20列)检索该数据的一部分(5列),操作它,并开发SSRS报告;我根本不应该修改原始客户端存储过程,因为它属于我们的客户机。
CREATE OR ALTER
我正在使用php (ibase)查询firebird 2.5数据库。简单的查询工作正常,但是当我尝试使用下面的过程查询时,我会在第1行第5列(即遇到"TERM“时)得到一个”令牌未知“错误。我觉得我错过了一些非常基本的东西!
$query = <<<X
SET TERM #;
EXECUTE BLOCK
RETURNS (product INT, minPrice FLOAT, maxPrice FLOAT)
AS
DECLARE transID INT = 8733;
BEGIN
FOR
SELECT "Product", MI
我使用Firebird 2.5和节点-firebird 0.8.6。我必须运行带有多个存储过程的SQL文件,但总是会出现以下错误
错误:动态SQL错误,SQL错误代码= -104,令牌未知-第1行,第5列,(/home/somasys/Downloads/testefb/node_modules/node-firebird/lib/index.js:1234:18) at /home/somasys/Downloads/testefb/node_modules/node-firebird/lib/index.js:2929:21 at /home/somasys/Downloads/test
我有一个在Firebird SQL数据模块中工作的查询。
我们迁移到MySQL,除了这个查询之外,我的所有查询都没有问题。
请帮我把这个修好。我收到一个错误:
执行失败。'on子句‘中未知列'part.id’
我的Firebird查询:
SELECT vendor.name AS "Vendor Name",
Cast(Cast(vendorparts.lastdate AS date) AS CHAR(10)) AS "Last Date",
CASE product.price
WHEN '0'
此sql代码仅在Interbase 2020服务器上返回错误(在Firebird 3上工作正常):
错误在第1行。动态SQL错误:在第1行出现错误。列未知公司
select
Goods_id,
coalesce(sum(inc),0) as incomes,
coalesce(sum(sale),0) as sales,
coalesce(sum(writeoff),0) as writeoff,
我需要firebird 3.0中的存储过程来返回True、False或1,0结果,以检查这个人或记录是否存在于数据库中。如果存在,则过程应该返回true,如果不返回False,则返回1,如果不返回0。
这是我的程序,但它给了我一个错误:
无效令牌。
动态SQL错误
SQL错误代码= -104
令牌未知-第10行,第1列。
结束。
我想通过检查名字、姓氏和出生日期来检查记录是否存在。
create procedure aa(
v varchar(20),
g varchar(20),
dd date)
as
begin
select fname,lname,bday from S
我收到一个错误声明
令牌未知-第2行,第51列。年。
在尝试执行以下代码段时(第二次约会将是一个变量,而不是硬编码的),该代码段将比较条目的年份:
SELECT * FROM list_users
WHERE ((extract(year from dt_create)) = (exctract(year from cast('01.01.2016' as date))))
显然,我试图将其封装在括号中,并对其进行至今的强制转换,但问题是firebird不承认year。我不想用字符串比较来解决问题,所以我要试着找出问题的根源。
我的表具有这样的结构-- T_user(usern,pass,realname: varchar(50); --我是火鸟的初学者,我想执行以下语句,但是我得到了这个错误:
if (select Count(*) as cnt FROM T_USER WHERE ( usern = 'test') And (pass
= ']')) > 0 then select T_user.realname from t_user where t_user.usern = 'test';
这是错误消息:
错误: IBPP::SQLException
我有一个免费的pascal应用程序使用Firebird。如何从此Firebird存储过程检索输出变量:
input parameters: ID (integer)
output parameters: G (integer)
begin
if(select town.count from town where town.id=:id) then
G = 100
else
G = 200;
suspend;
end
in designer->SQL
EXECUTE PROCEDURE ID_DEV :ID RETURNING_VALUES :G
代码:
SQ
下面的查询在firebird 2.1中运行良好,但我无法让它在1.5中具有完全相同结构的数据库上工作
select c.printchecknumber, v.voidamount
from checks c
join (select checknumber, sum(voidamount) as voidamount
from checkitem
where voidtype =1
group by checknumber) v on c.checknumber = v.checknumber
order by c.printchecknumb
如何在Firebird数据库中检查字段的值是否为数字?这似乎是一个简单的问题,但我在FreeUDFLib或标准火鸟库中找不到任何东西。下面是我如何在Server中这样做的。
Select field
from table
where isnumeric(field) = 1
一些研究让我有了“类似的”。这应该有效,但会引发一个错误:
select field
from table
where field SIMILAR TO '[0-9]+'
{“动态SQL”& vbCrLf & "SQL错误代码= -104“& vbCrLf &”令牌
我已经使用gsec向Firebird 2.1实例添加了一个用户,但现在我想将所有表上的SELECT授予这个新用户。我可以找到如何在特定的表上授予这个权限,但不能全部授予它们:
GRANT SELECT ON TABLE table TO USER user;
如果我尝试使用新用户,则在isql上会出现以下错误:
没有对表的读取/选择访问权限
有没有办法在Firebird 2.1上做到这一点?