Aşağıdaki kod Oracle veritabanında tüm standart şifreleri değiştirmek için parola ifadeleri değiştirmek üretir "hükmü burada" uygun buluyorum. 12.1.0.2.0 sürümünde, onu geçersiz Şifre değerlerine değiştirmek artık mümkün değildir. Bu yüzden bu anahtar kasası yapısını oluşturmam gerekiyordu. Kurbağa sonunda birleştirme yapısı üzerinde bir uyarı (kural 5807) verir. “Kartezyen sorgulardan kaçının - bir fıkra kullanın ...” diyor. Tüm Oracle veritabanı sürümlerinde çalışan bir “where clause” ile ilgili herhangi bir Fikir?kartezyen sorguları kaçının -
SET TERMOUT OFF
SET ECHO OFF
SET LINESIZE 140
SET FEEDBACK OFF
SET PAGESIZE 0
SPOOL user.sql
SELECT 'alter user '
|| username
|| ' identified by values '
|| CHR (39)
|| CASE
WHEN b.version = '12.1.0.2.0' THEN '462368EA9F7AD215'
ELSE 'Invalid Password'
END
|| CHR (39)
|| ';'
FROM DBA_USERS_WITH_DEFPWD a,
(SELECT DISTINCT version
FROM PRODUCT_COMPONENT_VERSION) b;
SPOOL OFF
@user.sql
Her kullanıcı her ürün bileşeni sürümü için sorgu tarafından döndürülen bir kayıt gerekiyor mu? Yoksa iade edilmek istemediğiniz kombinasyonlar var mı? –
(SQL 92 standartlarına sorguyu yeniden organize konusunda oldukça doğru ifadeden kenara) herhangi bir yükü eklemez basit yolu, eklemektir "where 1 = 1" sorguya. –