我正在使用SSMS 2017,我的数据库是SQL Server 2016 Enterprise.创建数据库图时显示错误:
索引超出了数组的范围
怎么解决?先感谢您
嗨,我陷入了这个问题,我在SQL SERVER中通过CURSOR工作了一个解决方案,但是我的行大约是40万,并且输出要花费数小时,有人可以更快地做到这一点吗?也许通过CROSS APPLY或其他方式。谢谢
问题:仅需要对事务状态“已拒绝”进行计数,如果TransactionStatus为“已批准”,则计数器将重置为零。
交易记录
帐号卡号交易状态输入日期 10845522-XYZ 5471XXXXXXXX1111已批准10/09/2013 10845522-XYZ 5471XXXXXXXX1111拒绝10/09/2014 10845522-XYZ 5471XXXXXXXX1111拒绝10/09/2015 10845522-XYZ 5471XXXXXXXX9999已批准10/09/2016 10845522-ABC 5471XXXXXXXX6666拒绝10/09/2012 10845522-ABC 5471XXXXXXXX6666拒绝10/09/2019 10845522-DEF 5471XXXXXXXX7777拒绝10/09/2016 10845522-DEF 5471XXXXXXXX7777已批准10/09/2019
需要的输出
帐号卡号拒绝计数器修改日期 10845522-XYZ 5471XXXXXXXX1111 2 10/09/2015 10845522-XYZ 5471XXXXXXXX9999 0 2016年10月9日 10845522-ABC 5471XXXXXXXX6666 2 10/09/2019 10845522-DEF 5471XXXXXXXX7777 0 10/09/2019
我的带有游标和合并语句的代码/方法,可以正常工作,但是由于CURSOR而需要花费数小时才能完成
-- Main Transaction Table
Select row_number() Over(Order by EntryDate) RowNumber
,Account, CARD_NUMBER, TransactionStatus, EntryDate
into dbo.TransactionLog_Temp
from dbo.TransactionLog
-- Cursor
DECLARE @RowNumber AS INT
DECLARE C CURSOR FOR
Select Rownumber from dbo.TransactionLog_Temp order by Rownumber ASC
OPEN C
FETCH …Run Code Online (Sandbox Code Playgroud) 我的 CI 管道中有两个步骤。一是缓存dotnet的安装路径,二是dotnet安装。并使用 windows-2019 图像。但系统永远无法识别 .net 7 可用,它始终安装了 .net 6.0。缓存还显示缓存了 200MB,但可能某些 PATH 变量需要调整。有人可以帮我弄这个吗?
runs-on: windows-2019
env:
DOTNET_INSTALL_DIR: '.\.dotnet'
DOTNET_ROOT: '.\.dotnet'
Run Code Online (Sandbox Code Playgroud)
我的缓存步骤是:
- name: Cache dotnet
id: cache-dotnet-core # id used in cache-hit condition
uses: actions/cache@v3
with:
path: '.\.dotnet' #~/.dotnet
key: ${{ runner.os }}-dotnet-${{ hashFiles('**/project.assets.json') }}
restore-keys: ${{ runner.os }}-dotnet-${{ hashFiles('**/project.assets.json') }}
Run Code Online (Sandbox Code Playgroud)
我的 dotnet 安装步骤是
- name: Install Dotnet
#if: steps.cache-dotnet-core.outputs.cache-hit != 'true' # condition to check if old installation is available in cache
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7.0.x
Run Code Online (Sandbox Code Playgroud)
请记住,保存缓存后,第二次运行作业将显示 .net …