BCB程序里建立数据库函数?
oracle数据库里可以执行的函数:
CREATE OR REPLACE FUNCTION csh.is_number(parmin VARCHAR2) RETURN NUMBER IS
val NUMBER;
BEGIN
val := TO_NUMBER(NVL(parmin, 'a'));
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
RETURN 0;
END;
我想在在程序里完成该函数的建立:
TADOCommand *ado = new TADOCommand(this);
adq->Connection = ADOConntion1;
aSQL = "CREATE OR REPLACE FUNCTION user1.is_number (parmin VARCHAR2) RETURN NUMBER "
"IS "
"val NUMBER; "
"BEGIN "
"val := TO_NUMBER (NVL (parmin, 'a')); "
"RETURN 1; "
"EXCEPTION "
"WHEN OTHERS "
"THEN "
"RETURN 0; "
"END;";
TO_NUMBER (NVL (parmin, 'a')); RETURN 1; EXCEPTION WHEN OTHERS THEN RETURN 0; END; ";
ado->CommandText =aSQL;
ado->Execute(); // 报错: 不正常的定义参数对象,提供了不一致或不完整的信息
//user1 为 oracle的一个用户
CREATE OR REPLACE FUNCTION csh.is_number(parmin VARCHAR2) RETURN NUMBER IS
val NUMBER;
BEGIN
val := TO_NUMBER(NVL(parmin, 'a'));
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
RETURN 0;
END;
我想在在程序里完成该函数的建立:
TADOCommand *ado = new TADOCommand(this);
adq->Connection = ADOConntion1;
aSQL = "CREATE OR REPLACE FUNCTION user1.is_number (parmin VARCHAR2) RETURN NUMBER "
"IS "
"val NUMBER; "
"BEGIN "
"val := TO_NUMBER (NVL (parmin, 'a')); "
"RETURN 1; "
"EXCEPTION "
"WHEN OTHERS "
"THEN "
"RETURN 0; "
"END;";
TO_NUMBER (NVL (parmin, 'a')); RETURN 1; EXCEPTION WHEN OTHERS THEN RETURN 0; END; ";
ado->CommandText =aSQL;
ado->Execute(); // 报错: 不正常的定义参数对象,提供了不一致或不完整的信息
//user1 为 oracle的一个用户
...全文


数据库及相关技术

