传表达式给存储过程,怎么不对呢??interbase(50分)

N

noall

Unregistered / Unconfirmed
GUEST, unregistred user!
1、如:
CREATE PROCEDURE PROC_CALCDJ (
S VARCHAR (100))
AS
BEGIN
update SQ2 set A=:S;
END

字段a为float型,如果传入参数S=B+C(B,C是表sq2的字段,类型和a是一样的)

如何实现上述功能?

2、
有interbase中如何执行字符串的sql语句

CREATE PROCEDURE PROC_CALCDJ (
S VARCHAR (100))
AS
declare variable sqltxt varchar(1000);
BEGIN
sqltxt='update sq2 set a=b';
/*如何执行sqltxt语呢*/
/* sqltxt与S字符串相联接怎么联呢?*/
/*如sqltxt='aaa' 如S=bbb*/
/*如何使sqtxt='aaa bbb'呢?*/

END
 
CREATE PROCEDURE PROC_CALCDJ (
@S VARCHAR (100))
AS
BEGIN
Exec(' update SQ2 set A='+@S)
END

EXEC是Server SQL中的用法,供參考
 
接受答案了.
 
顶部