我有一个免费的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 1.5数据库,并尝试使用SQL以本机正确的格式提取数据。
考虑以下数据库:
ID | Full Name
1 Jon Doe
2 Sarah Lee
我试图实现的是在查询中对全名字段(空格)进行简单的拆分。
ID | First Name | Last Name
1 Jon Doe
2 Sarah Lee
面临的问题是Firebird POSITION()是在v2.0中引入的。是否有任何已知的解决方法可以在任何人遇到的空间上拆分?
非常感谢您的帮助!
运行以下存储过程将导致零记录被删除。 /**
* A Cosmos DB stored procedure that bulk deletes documents for a given query.
* Note: You may need to execute this stored procedure multiple times (depending whether the stored procedure is able to delete every document within the execution timeout limit).
*
* @function
我使用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数据库中的存储过程中创建临时表。
我的存储过程列表:
SET TERM ^ ;
CREATE PROCEDURE initNATIONALHEALTHFUNDS
AS BEGIN
CREATE GLOBAL TEMPORARY TABLE temp_FUNDS
(
NATIONALHEALTHFUNDID Integer NOT NULL,
NAME Varchar(128) NOT NULL,
CODE Integer NOT NULL
)
ON COMMIT PRESERVE ROWS;
commit;
我是一名开发人员,仍在学习EF4的复杂之处。我很清楚如何下拉对象列表并在循环中迭代删除它们,但我不能让自己编写代码,在执行批量更新或删除时对n条记录执行n条语句(以及数据库往返)。
一个典型的例子是先删除子记录,然后再删除相关的父记录,以维护引用完整性...(是的,默认情况下我使用软删除,但请迁就我)
在存储过程中,我只需执行SQL,如下所示:
DELETE FROM someChildTable WHERE ForeignTableId = @keyToGo
DELETE FROM parentTable WHERE Id = @keyToGo
在Linq To SQL中,我会这样做:
da
我需要为存储过程中的临时表创建一个DDL语句(Firebird 2.5);
我知道我需要使用动态SQL的EXECUTE语句;
尽管存储过程本身已成功执行并提交,但每次运行存储过程时,都会在IBExpert中得到某种动态SQL错误。
我需要关于如何在Firebird存储过程中编写动态SQL代码的精确语法和一步一步的方法,该方法创建一个包含20列的全局临时表(GTT),并从另一个存储过程(包含20列的客户端存储过程)插入数据。
我从GTT (20列)检索该数据的一部分(5列),操作它,并开发SSRS报告;我根本不应该修改原始客户端存储过程,因为它属于我们的客户机。
CREATE OR ALTER
我正在尝试使用X5进行firebird数据库管理,但每次执行以下命令时都会遇到问题:
update ESTOQUE set QTD='700' where CODIGO='1'
我收到一条消息:
"[FireDAC][Phys][FB]invalid request BLR at offset 241 function HASHMD5 is not defined unkown error 335544932"
当我运行查询命令( select * from ESTOQUE)时,它运行得非常完美。
我的firebird版本是2.5
我的Wi
我正在做一个显示从Firebird数据库构建的HTML文档的项目。在单独的文件中,我有SQL查询。在这种情况下,如何从表a或表b获取数据?
例如:
Declare varID int = __docid__;
select fielda, fieldb AS fieldbv from
if(varID = 10) then tableA;
else tableB;
我正在从SQL Server迁移到Firebird。
在SQL Server中
CREATE PROCEDURE Departments_GetAll
AS
SELECT * FROM Departments
我试着玩火鸟游戏
CREATE PROCEDURE DEPARTMENTS_DELETEALL
AS
BEGIN
SELECT * FROM "Departments";
END^
SET TERM ; ^
但这并不管用。
它返回一个错误"SQL Code -104“
使用: Firebird 2.5.3
在存储过程(PSQL)中,很容易将数字从十六进制转换为十进制表示法:
DECLARE VARIABLE I INTEGER;
BEGIN
I = CAST('0x0FFFE' AS INTEGER); -- I will have the value 65534
如何才能实现相反的目标?即。从十进制符号转换为十六进制符号?
这需要0.001秒才能执行,并使用索引查找
SELECT * FROM CUSTOMER WHERE ID IN (1008,1122)
现在我有一个存储过程U_VIP,它返回与示例相同的ID (1008,1122),执行只需要0.001秒
SELECT ID FROM U_VIP //returns (1008,1122)
现在,当我将它们组合在一起时,大约需要半秒的时间来执行,并且不使用索引
SELECT * FROM CUSTOMER WHERE ID IN (SELECT ID FROM U_VIP)
我已经简化了上面的例子,在实际应用中,性能受到的影响要大得多。在这种情况下,如
最新的NHibernate版本是否支持通过HQL更新记录?!这句话怎么样?
UPDATE Table_1 SET Value=Value+@Increment, @Result=1
WHERE Id=@Id AND Value+@Increment<=@MaxLimit;SELECT @Result
是否可以执行上述语句,并至少通过平面sql (CreateSqlQuery)获取@Result?
我正在使用来加密我的CoreData堆栈。我在数据库中有一个表,其中存储了超过40万条记录。我想删除基于某些活动的大部分记录。由于批量删除对于这个加密存储不可用,所以我需要做的是,执行一个读取数据的获取请求。
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "MyEntity")
fetchRequest.includesPropertyValues = false
// Fetch data till minimum threshold limit
let newPredica