加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 如何在Firebird存储过程或执行块中使用变量引用已绑定的

发布时间:2021-05-26 01:46:11 所属栏目:MsSql教程 来源:网络整理
导读:请举例说明如何在FireBird存储过程或执行块中引用带变量的字段名称 像这样的伪SQL: Insert into tab1 (1,f1,f2,f3) select 1,tab2.f+var_loop,tab2.f+var_loop from tab2 where ..... 其中“f”是字段名称的第一个首字母,“var_loop”是循环变量 谢谢 解

请举例说明如何在FireBird存储过程或执行块中引用带变量的字段名称

像这样的伪SQL:

Insert into tab1 (1,f1,f2,f3)
    select 1,tab2.f+var_loop,tab2.f+var_loop
    from tab2
    where .....

其中“f”是字段名称的第一个首字母,“var_loop”是循环变量

谢谢

解决方法

我仍然不太清楚你想要实现什么,但在PSQL中还有 EXECUTE STATEMENT功能可用,它可能适合你的需要 – 它允许你建立一个字符串然后作为DSQL语句执行…假设var_loop在你的例子中是整数,你的代码可能是这样的
CREATE PROCEDURE Foo(var_loop INTEGER)
AS
DECLARE Stmnt VARCHAR(1024);
BEGIN
  Stmnt = 'Insert into tab1 (1,f3)'||
          'select 1,tab2.f'|| CAST(var_loop AS VARCHAR(10)) ||
          ',tab2.f'|| CAST(var_loop AS VARCHAR(10)) ||
          'from tab2 where(...)';
  EXECUTE STATEMENT Stmnt;
END^

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读