我在程序用用SQL创建了一个存储过程,如下:
CREATE PROCEDURE TABLE_EXISTS (
PTBL VARCHAR(40) CHARACTER SET NONE)
RETURNS (
PR INTEGER)
AS
BEGIN
SELECT COUNT(*)
FROM RDB$RELATIONS
WHERE RDB$RELATION_NAME=:PTBL
INTO PR;
IF (PR IS NULL) THEN PR=0;
EXIT;
END但是到了,数据库中后变量:PTBL 变成了 “?”,如下:
CREATE PROCEDURE TABLE_EXISTS (
PTBL VARCHAR(40) CHARACTER SET NONE)
RETURNS (
PR INTEGER)
AS
BEGIN
SELECT COUNT(*)
FROM RDB$RELATIONS
WHERE RDB$RELATION_NAME=? /就是这里改变了/
INTO PR;
IF (PR IS NULL) THEN PR=0;
EXIT;
END
我用的是INTERBASE的数据库,请问这是什么问题,改如何解决?谢谢!
CREATE PROCEDURE TABLE_EXISTS (
PTBL VARCHAR(40) CHARACTER SET NONE)
RETURNS (
PR INTEGER)
AS
BEGIN
SELECT COUNT(*)
FROM RDB$RELATIONS
WHERE RDB$RELATION_NAME=:PTBL
INTO PR;
IF (PR IS NULL) THEN PR=0;
EXIT;
END但是到了,数据库中后变量:PTBL 变成了 “?”,如下:
CREATE PROCEDURE TABLE_EXISTS (
PTBL VARCHAR(40) CHARACTER SET NONE)
RETURNS (
PR INTEGER)
AS
BEGIN
SELECT COUNT(*)
FROM RDB$RELATIONS
WHERE RDB$RELATION_NAME=? /就是这里改变了/
INTO PR;
IF (PR IS NULL) THEN PR=0;
EXIT;
END
我用的是INTERBASE的数据库,请问这是什么问题,改如何解决?谢谢!
@PTBL VARCHAR(40) CHARACTER SET NONE)
...
WHERE RDB$RELATION_NAME=@PTBL
...
END
CREATE PROCEDURE TABLE_EXISTS (
@PTBL VARCHAR(40) CHARACTER SET NONE)
RETURNS (
PR INTEGER)
AS
BEGIN
SELECT COUNT(*)
FROM RDB$RELATIONS
WHERE RDB$RELATION_NAME=:PTBL
INTO PR;
IF (PR IS NULL) THEN PR=0;
EXIT;
END
sql2k 是这么用的