java中如何使用jdbc模板调用多条sql语句

发布于 2025-01-13 19:28:06 字数 1003 浏览 1 评论 0原文

我想从 SQL Server 一次获取序列的 n 个值。我可以使用下面的 SQL 查询列表来实现此目的:

DECLARE @FirstSeqNum sql_variant, @LastSeqNum sql_variant; 
  
EXEC sys.sp_sequence_get_range  
@sequence_name = N'SERVICEVRSNS.CountBy1'  
, @range_size = 100  
, @range_first_value = @FirstSeqNum OUTPUT   
, @range_last_value = @LastSeqNum OUTPUT ;  
  
-- The following statement returns the output values  
SELECT  
  @FirstSeqNum AS FirstVal  
, @LastSeqNum AS LastVal ;

输出看起来像这样:

FirstValSecondVal
101200

每次我触发上面的 SQL 列表时,它都会给出范围。

我可以使用一个 SQL 语句来实现相同的目的来获取如下所示的范围:

 private final JdbcTemplate jdbcTemplate;
      jdbcTemplate.queryForObject(sql, Map<String,Object>.class);

注意:我不想创建存储过程或调用系统存储过程。

I want to get n values of a sequence at once from SQL server. I am able to achieve this using the below list of SQL queries:

DECLARE @FirstSeqNum sql_variant, @LastSeqNum sql_variant; 
  
EXEC sys.sp_sequence_get_range  
@sequence_name = N'SERVICEVRSNS.CountBy1'  
, @range_size = 100  
, @range_first_value = @FirstSeqNum OUTPUT   
, @range_last_value = @LastSeqNum OUTPUT ;  
  
-- The following statement returns the output values  
SELECT  
  @FirstSeqNum AS FirstVal  
, @LastSeqNum AS LastVal ;

The output looks something like this:

FirstValSecondVal
101200

Every time I trigger the above SQL list, it gives the range.

Can I achieve the same using one SQL statement to get the range something like this:

 private final JdbcTemplate jdbcTemplate;
      jdbcTemplate.queryForObject(sql, Map<String,Object>.class);

Note: I don't want to create a stored procedure or call the system stored procedure.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文