create or replace function checkCustomerNo(CustomerNo varchar2,TableName varchar2) return number is strSql varchar2(4000); intCount number; begin strSql:='select count(*) from ' || TableName || ' where CustomerNo=''' || CustomerNo || ''''; execute immediate strSql into intCount; return intCount; end; 返回number型客户号存在返回大于0 不存在返回0
is
strSql varchar2(4000);
intCount number;
begin
strSql:='select count(*) from ' || TableName || ' where CustomerNo=''' || CustomerNo || '''';
execute immediate strSql into intCount;
return intCount;
end;
返回number型客户号存在返回大于0
不存在返回0
而Oracle中的单引号使用,好像是四个单引号代表一个单号,之前有写过,最后出现错误就是这里
并不是四个单引号代表一个单号
就拿下面这个举例
strSql:='select count(*) from ' || TableName || ' where CustomerNo=''' || CustomerNo || ''''
'select count(*) from ' 是字符串可以用连接符||链接 相关的字符串
如果字符串中要引用过程中的变量那么就应该用'||变量名||'取到值
比如'select count(*) from ' || TableName || ' where CustomerNo=''' || CustomerNo || ''''里面的
''' || CustomerNo || ''''
第一个引号表示连接前面的字符串 第二个表示是用引号括起来的字符串 第三个引号和||将变量前后扩起来表示取值 最后面的引号对应字符串的结束。
exception