我必须将所有过程从Oracle迁移到DB2数据库。我想知道,如果作为甲骨文工作,如何在内部设置语法。
变量已在Oracle ps_iPkCooperativa中使用,并且正在接收0。
Oracle代码:
BEGIN
SELECT CCOOP
INTO ps_iPkCooperativa
FROM COOP
EXCEPTION
WHEN NO_DATA_FOUND
THEN ps_iPkCooperativa := 0;
END;
我如何在DB2中做到这一点?
我有一个db2 LUW10.5数据库。
我想要创建一个触发器,每当更新和插入记录时,它就会将记录的副本保存到审核表中。
我想出了折叠语法:
CREATE TRIGGER TR_TRANSACTION_MESSAGE_CREATE_HIST
AFTER INSERT OR UPDATE ON TRANSACTION_MESSAGE REFERENCING NEW AS N FOR EACH ROW MODE DB2SQL
BEGIN ATOMIC
INSERT INTO ....
END@
在创建触发器时,我会收到以下错误消息:
“或更新”后面有一个意外的标记“或更新”。预期的令牌可能
我正在尝试使用一个简单的IF ELSE查询来使用DB2 SQL测试一个特性。但是,当我试图执行它时,我会遇到一个错误,说明不允许我执行DDL语句。
让我失望的是,据我所知,只有更改数据库结构的语句才被认为是DDL语句。
怎么回事?
代码:
IF 'True' = 'True' THEN
SELECT * FROM RM_TRANSACTION
FETCH FIRST 2 ROWS ONLY
FOR READ ONLY WITH UR
ELSE
SELECT * FROM RM_TRANSACTION
FETCH FIRST 4 ROWS
在执行以下查询时,我会收到一个错误。根据DB2文档,我们可以在同一个触发器中同时拥有update和insert事件,但是当我试图这样做时,我会得到一个错误。
CREATE TABLE NULL_LOOKUP (
ID INT NOT NULL,
TABLE_NAME VARCHAR(100) NOT NULL
);
CREATE TABLE PARENT (
PARENT_ID INT NOT NULL,
PARENT_NAME VARCHAR(100) NOT NULL
);
CREATE TABLE CHILD_ONE (
CHILD_ONE_I
我已经发现,这段代码在下面指出的地方编译了分号和没有分号。
在这里使用分号的正确方法是什么?
try
try
if MyBoolean = True then
begin
DoSomething;
end
else
begin
DoSomethingElse;
end <<<--- Semi colon here?
except
;
end <<<--- Semi colon here?
finally
运行此代码时,我报告了一个错误。出于某种原因,我必须在开始执行函数之后添加原子,但它与函数体中的SQLEXCEPT冲突。我该怎么办?
当我调用函数时,我总是报告SQL0390N错误。有人告诉我在开始后要在函数中添加原子,但我在函数中遇到了异常。
CREATE OR REPLACE FUNCTION IS_DATE(INDATE VARCHAR(10))
RETURN INTEGER
LANGUAGE SQL
BEGIN ATOMIC
DECLARE V_DATE DATE;
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
我希望从预先创建的DGTT返回内容,作为表函数的结果集。
但是当我引用它时,我会得到SQL SQL0526N / SQLSTATE 42995错误。
我不明白为什么。只指出了42995平方状态错误的三个原因:
Restrictions on the use of declared temporary tables: Declared temporary tables cannot:
- Be specified in an ALTER, COMMENT, GRANT, LOCK, RENAME or REVOKE statement (SQLSTATE 42995).
- Be referen
嗨,我想运行这段代码,但它显示了几个错误,请任何人都可以帮助。
Program Climat;
var clim: integer;
begin
Writeln('entrez degré');
Readln(clim);
if (clim < 0) then
Writeln('c est glacial ');
else
if (clim < 30) then
Writeln('le temps est doux');
else
Writeln('trés chaud'):
end.
在下面的链接列表创建程序中,输入后,程序将停止工作。printf("\n nodes entered are:\n)后的代码没有运行。
if in for循环用于创建head或start节点。
#include<stdio.h>
#include<conio.h>
#include<malloc.h>
//creating a linked list
typedef struct node
{
int data;
struct node *link;
}node;
int main()
{
我正在努力学习如何测试正则表达式,我有点困惑。下面是对单词字母是否在正则表达式中的测试。如果是,则应该写入子字符串,如果不是(!)还有。和“"),它们应该转储到写入数组中先前记录的子字符串。但是,在循环中测试时,word.test(str)等于false和true!当我在它自己上测试它时,它的计算结果很好(例如,在*之后),但是有一些奇怪的事情发生了,在for循环中它不能工作。有什么想法吗?
function countWords(str) {
var testString = '';
var stringArray = [];
v
#include<stdio.h>
void main()
{
int a = 4;
switch (a)
{
case 4:
int res = 1;
printf("%d",res);
break;
}
}
当我和gcc一起编译这段代码时,我发现了错误。
root@ubuntu:/home/ubuntu# gcc test.c -o t
test.c: In function ‘main’:
test.c:9:4: error: a label c
我有以下代码:
int main() {
int i=0;
int j=({int k=3;++i;})+1; // this line
return 0;
}
它编译并运行。如果我从“此行”中删除(),那么它就不会编译。
我只是好奇这里应用了什么语法规则。
{}包含两个语句,最后一个语句指示这个代码块的“返回”值。那么,为什么需要额外的()对才能使这个返回值可用呢?
我在SQL模式上得到了这个错误。我得到的错误信息是
“您的SQL语法出现了错误;请检查与您的MySQL服务器版本相对应的手册,以便在第2行使用”在更新每个R的resellers4后创建触发器resellers4“的正确语法。”
什么语法出了问题?我正在附加2个SQL模式。两人都有同样的问题。
delimiter // DROP TRIGGER IF EXISTS updtrigger_r4_balance;
CREATE TRIGGER updtrigger_r4_balance AFTER
UPDATE
ON resellers4 FOR EACH ROW
BEGIN
我是一个完全的初学者,我为错误的术语道歉,所以我开始了关于Python的OpenClassroom课程,并尝试复制以下代码: >>> a = 5
>>> if a > 0: # Si a est positif
... print("a est positif.")
... if a < 0: # a est négatif
... print("a est négatif.") 但当我尝试的时候: >>> a = 5
>>> if a > 0:
...
下面编写包含单个语句的do while循环的语法是否与其他循环一样使用大括号,即while, for, etc.正确?我得到了所需的输出,但我想知道这是否有任何未定义的行为。
int32_t i = 1;
do
std::cout << i << std::endl;
while(++i <= 10);
我正尝试在DB2命令行处理器中执行以下类型的复合语句
BEGIN ATOMIC
UPDATE schema.tablename set column1 = xyz where condition = somecondition;
UPDATE schema.tablename2 set column2 = abc where condition = somecondition
END
但我收到以下错误
BEGIN ATOMIC
UPDATE schema.tablename set column1 = xyz where condition = somecondition
DB21034E
我正在阅读python文档,并注意到在句子的某些部分中使用了单词clause,如:the try clause (the statement(s) between the try and except keywords) is executed或Loop statements may have an else clause。clause是什么意思?