我们有一个庞大的Oracle数据库,我经常使用SQL Navigator(v5.5)获取数据.有时,我需要通过单击Stop
按钮来停止代码执行,因为我意识到我的代码中缺少部分.问题是,点击Stop
按钮后,完成停止过程需要很长时间(有时需要数小时!).该计划Stopping...
在底栏显示,我失去了很多时间,直到它完成.
这背后的理由是什么?如何加快停止过程?以防万一,我不是管理员; 我是一个使用某些视图访问数据库的有限用户.
我正在使用R中的以下数据:
> str(df)
'data.frame': 369269 obs. of 12 variables:
$ bkod : int 110006 110006 110006 110006 110006 110006 110006 110006 110006 110006 ...
$ bad : Factor w/ 215 levels "4. Levent","500 Evler",..: 26 26 26 26 26 26 26 26 26 26 ...
$ mkod : int 359 359 359 359 359 359 359 359 359 359 ...
$ mad : Factor w/ 8643 levels " Hilal Gida ",..: 4021 4021 4021 4021 4021 4021 4021 4021 4021 …
Run Code Online (Sandbox Code Playgroud) Oracle PL/SQL不允许用户在条件中使用别名.在大多数情况下,使用别名而不是长语句对我来说非常实用.这是什么原因?如果我们可以在条件中使用别名会发生什么不好?
示例案例:此SQL查询有什么问题?
是否可以使用Javascript或jQuery将mp3,wav等转换为m4r格式?
以下代码没有问题:
select donem, mekankodu, count(yayin_kodu) yc,
SUM(CASE WHEN iade =0 THEN 1 ELSE 0 END) yys
from
( select donem,
bayi_adi,
bayi_kodu,
x.mekankodu,
mekan_adi,
mekan_tipi,
yayin_kodu,
yayin_adi,
sum(x.b2b_dagitim + x.b2b_transfer) sevk,
sum(x.b2b_iade) iade,
sum(x.b2b_dagitim + x.b2b_transfer - x.b2b_iade) satis
from mps_view2 x
where x.donem = '200910'
and x.yayin_kodu in (93,95,98,99,103,174,307,309,311,489,491,495,533,534,538,605,641,642,650,2539,
2697,4560,5049,5772,5950,5980,7318,7440,8086,8524,11161,12707,12708,12709,14376,
15107,15309,15633)
and x.mekankodu in (31851,38569,7123,7403,7481)
group by donem, bayi_adi, bayi_kodu, mekankodu, mekan_adi, mekan_tipi, yayin_kodu, yayin_adi
order by donem, bayi_kodu, mekan_adi, yayin_adi
)
group by donem, mekankodu
Run Code Online (Sandbox Code Playgroud)
当我想要包含yc/yss
在我的结果表中时,我 …
以下查询返回"ORA-00904错误:SATIS:无效的标识符".当我删除该行时HAVING satis > 0
,它的工作原理.我该怎么办?
SELECT donem, bolge_adi, sehir_tasra "1=?, 2=T",
COUNT(DISTINCT mekankodu) "M.SAYISI",
SUM(b2b_dagitim + b2b_transfer - b2b_iade) satis
FROM mps_view2
WHERE donem IN ('200612','200712','200812','200912')
AND (ob IS NOT NULL OR b2b_ob IS NOT NULL)
GROUP BY donem, bolge_adi, sehir_tasra
HAVING satis > 0
ORDER BY donem, bolge_adi, sehir_tasra
Run Code Online (Sandbox Code Playgroud) 我想在Excel文件中一次为每个工作表执行以下VBA代码:
Sub sample_code()
Columns("B:B").Select
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("A:A,D:J").Select
Range("D1").Activate
Selection.Delete Shift:=xlToLeft
Columns("F:P").Select
Selection.Delete Shift:=xlToLeft
Columns("A:E").EntireColumn.AutoFit
Columns("B:B").ColumnWidth = 30.86
Range("A1:E1").Select
Selection.Font.Bold = True
End Sub
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
以下VBA代码需要很长时间才能执行。我在25分钟前运行了48,000行,它仍在运行。如何缩短执行时间?
Sub delrows()
Dim r, RowCount As Long
r = 2
ActiveSheet.Columns(1).Select
RowCount = UsedRange.Rows.Count
userresponse = MsgBox("You have " & RowCount & " rows", vbOKOnly, "Info")
Rows(RowCount).Delete Shift:=xlUp
' Trim spaces
Columns("A:A").Select
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, searchFormat:=False, _
ReplaceFormat:=False
' Delete surplus columns
Range("L:T,V:AA,AE:AG,AR:AR,AU:AU,AZ:AZ").Select
Selection.Delete Shift:=xlToLeft
' Delete surplus rows
Do
If Left(Cells(r, 1), 1) = "D" _
Or Left(Cells(r, 1), 1) = "H" _
Or Left(Cells(r, 1), 1) = "I" _
Or Left(Cells(r, 1), …
Run Code Online (Sandbox Code Playgroud)