找文章 / 找答案
精选问答 更多内容

[管理与运维] 数据集传参区别

帅比青铜二 显示全部楼层 发表于 2023-6-2 09:21:37 |阅读模式 打印 上一主题 下一主题
1
未解决

【管理与运维】 数据集传参区别

  • 帅比青铜二
  • 2023-06-02 09:21:37
  • 发布在 论坛
1657 5
select * from table where 1=1 <m>and name in ?{m}</m>

1=1<n>and p_no in ?{@n}</n>
1=1<p>and ?{@p} </p>
这三个传参方式有啥区别吗?求大佬指教
回复

使用道具 举报

精彩评论5

yhdata_lyaa 显示全部楼层 发表于 2023-6-2 09:23:03
回复

使用道具 举报

帅比青铜二 显示全部楼层 发表于 2023-6-2 09:25:57
yhdata_lyaa 发表于 2023-6-2 09:23
参考https://www.yonghongtech.com/real-help/Z-Suite/10.0/ch/paramindataset.html

这个看了,还是不太理解,这三种方式对入参的参数是有什么不同的要求吗
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2023-6-2 09:27:39
where city=?{a},参数必须传值
<a>where city=?{a}</a>,参数可以不传值

回复

使用道具 举报

帅比青铜二 显示全部楼层 发表于 2023-6-2 09:33:35
yhdata_lyaa 发表于 2023-6-2 09:27
where city=?{a},参数必须传值
where city=?{a},参数可以不传值

有@跟没@的区别还是不太懂
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2023-6-2 09:56:52
yhdata_ZgGKVgei 发表于 2023-6-2 09:33
有@跟没@的区别还是不太懂

帮助中心已经介绍了,有@的就是内嵌参数形式

?{@a},内嵌参数形式
这种内嵌的参数将被直接在SQL Statement中替换为参数值,而不是调用prepared statement.setParam(),这种办法有更高的灵活性,例如可以不要select而是将select子句作为参数传入, 或者将表名作为参数,如 select * from ?{@a}, a可以是任意输入的table name。
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部