Frage : Alternative zu einem Cursor

Der folgende sql-Index ist ein Beispiel, zum Ihnen zu zeigen, was ich versuche, auf einer anderen Datenbank zu tun. Er zählt die Zahl Aufzeichnungen in einer Datenbank und addierte dann. die A.-neue Spalte, die möglicherweise „ART“ genannt wird, die dort durch eine UPDATE-Aussage using CASE.

Is eine andere Weise, dies bevölkert erhält zu tun, das schneller ist und nicht das Herstellen einer Tabelle erfordert, eine Weile loop.

Thank you
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
IF OBJECT_ID (N'AUDIT_REC_COUNT', N'U') IST NICHT UNGÜLTIG 
TROPFEN-TABELLE AUDIT_REC_COUNT;
GEHEN
ZÄHLIMPULS] DER TABELLEN-[AUDIT_REC_COUNT] (TABLENAME VERURSACHEN [varchar (50), NUMERISCH)
GEHEN

@COUNT TABELLE ERKLÄREN (
            [TABLENAME] VARCHAR (20) SORTIEREN UNGÜLTIGES SQL_Latin1_General_CP1_CS_AS NICHT,            
            [ZÄHLIMPULS-] HERBEWEGUNGS-NULL)

@TABLENAME ALS VARCHAR (50) ERKLÄREN

Record_Count CURSOR FÜR ERKLÄREN
[NAME] [ATTRIB] VON sys.tables VORWÄHLEN

Record_Count ÖFFNEN

ZUNÄCHST VON Record_Count HOLEN
IN @tablename
WÄHREND @@FETCH_STATUS = 0
ANFANGEN
 	exec ('Einsatz in AUDIT_REC_COUNT (TABLENAME, [ZÄHLIMPULS])
	auserwähltes ''' +@tablename+ ''', Zählimpuls (*) von '+@tablename+ '')
    REICHWEITE ZUNÄCHST VON Record_Count
    IN @tablename
ENDE

NAHES Record_Count
Record_Count FREIGEBEN
GEHEN

TABELLE AUDIT_REC_COUNT ÄNDERN
Die varchar ART ADDIEREN (50)
GEHEN

AUDIT_REC_COUNT GESETZTE ART AKTUALISIEREN = 
(FALL, WENN TABLENAME MÖGEN „%_fallback_%“ DANN „den Rückfall“
	  WENN TABLENAME „MÖGEN, %_monitor%“ DANN „überwachen“ 
SONST UNGÜLTIGES ENDE
)
GEHEN


* VON VORWÄHLEN [AUDIT_REC_COUNT] WO Zählimpuls > 0
AUFTRAG DURCH TABLENAME

Antwort : Alternative zu einem Cursor

Sie können Protokollverschlüsselung zwingen. Dieses zwingt alle Kommunikation, um verschlüsseltes SSL zu sein. Folglich, wenn anoyone die Pakete schnüffelt, können sie kein sinnvoll von den Daten sein.

Es gibt etwas Unkosten diesbezüglich - Sie Notwendigkeit, Bescheinigungen zu den Klienten zu entfalten, gründen Bescheinigungen auf dem SQL-Server. Es gibt auch proecssing obenliegend, wenn man die Daten verschlüsselt und entschlüsselt.

http://msdn.microsoft.com/en-us/library/ms189067.aspx

Weitere Lösungen  
 
programming4us programming4us