sql - 需要将以下存储过程从 Oracle 转换为 SQL
问题描述
我需要将以下存储过程从 Oracle 转换为 SQL,我尝试通过 SqlSever 迁移助手将其转换,但无法转换动态查询。我还需要知道我们如何改变序列并获得 nextval:
create or replace
procedure dep_reset_seq( p_seq_name in varchar2,p_Start_value integer )
is
l_val number;
begin
execute immediate
'select ' || p_seq_name || '.nextval from dual' INTO l_val;
execute immediate
'alter sequence ' || p_seq_name || ' increment by -' || l_val ||
' minvalue ' || p_Start_value;
execute immediate
'select ' || p_seq_name || '.nextval from dual' INTO l_val;
execute immediate
'alter sequence ' || p_seq_name || ' increment by 1 minvalue ' || p_Start_value;
end;
解决方案
SQL Server 从 2012 年起支持序列,有一个 alter sequence 命令:https ://docs.microsoft.com/en-us/sql/t-sql/statements/alter-sequence-transact-sql?view=sql-server -2017 更改序列的命令格式与 Oracle 非常相似。
获取下一个值是一种不同格式的命令,使用NEXT VALUE
构造访问。
这些概念中的每一个都非常容易搜索,并且存在非常全面的文档 - 那么您是否遇到了更具体的问题?
推荐阅读
- python - 无限而不做它的循环
- mercurial - 如何使用 hg 准确恢复一个已删除的文件
- gmail-api - Gmail API 全球每秒速率限制
- r - 如何在编织 HTML 后强制 knitr 删除支持目录(.png 文件)
- bash - 如何使用 inotifywait 标记添加到目录的相似文件名
- javascript - 选择开始日期和结束日期后,如何为 Js daterangepicker 设置 CSS 样式?
- reactjs - 带有开始评级和下拉的 React 组件
- sql - (流失率)上个月的用户数不存在下个月的电子商务
- java - 使用spring-boot在依赖注入中创建bean时出错
- python - 未引用“轴”时设置绘图背景颜色