Messaggio
Codice: 2396
Messaggio in italiano: %1!L’attributo non può trovarsi all’esterno di un elemento.
Continua a leggere 2396 – %1!L’attributo non può trovarsi all’esterno di un elemento.
Codice: 2396
Messaggio in italiano: %1!L’attributo non può trovarsi all’esterno di un elemento.
Continua a leggere 2396 – %1!L’attributo non può trovarsi all’esterno di un elemento.
Ecco una query veloce per il conteggio di tutte le tabelle di un database, senza utilizzare cursori:
DECLARE @u TABLE (id INT, [schema] VARCHAR(200), name VARCHAR(1000))
INSERT INTO @u
SELECT ROW_NUMBER() OVER (ORDER BY s.name, t.name), s.name, t.name
FROM sys.tables t
INNER JOIN sys.schemas s ON t.schema_id = s.schema_id
DECLARE @t TABLE (name VARCHAR(1000), c INT)
WHILE (SELECT COUNT(*) FROM @u) > 0
BEGIN
DECLARE @n VARCHAR(1000), @s VARCHAR(200)
SELECT TOP 1 @s = QUOTENAME([schema]), @n = QUOTENAME(name) FROM @u
INSERT INTO @t EXEC ('SELECT ''' + @s + '.' + @n + ''', COUNT(*) FROM ' + @s + '.' + @n)
DELETE FROM @u WHERE id = (SELECT TOP 1 id FROM @u)
END
SELECT * FROM @t
Codice: 2389
Messaggio in italiano: Utilizzo non valido di un operatore con effetto collaterale ‘%1!’ nell’ambito di una funzione.
Continua a leggere 443 – Utilizzo non valido di un operatore con effetto collaterale ‘%1!’ nell’ambito di una funzione.
Avendo gli opportuni diritti, è possibile interrogare la vista di sistema sys.sysprocesses e passare ogni valore del suo sql_handle alla funzione di sistema sys.fn_get_sql per ottenere il testo della query.
La query risultante è questa:
SELECT hostname, nt_domain, nt_username, loginame, status, text
FROM sys.sysprocesses sp CROSS APPLY sys.fn_get_sql(sp.sql_handle)
WHERE status NOT IN ('dormant', 'sleeping')
ORDER BY cpu DESC
Se hai SQL Server 2017 o superiori, fermati pure: la funzione che cerchi è STRING_AGG. Prego.
Se invece stai lavorando ancora con il 2016 (cosa dici? 2014??? 2012??? 2008?????????), vorresti una funzione simile, ma non esiste. Continua a leggere Concatenare stringhe su diverse righe di una tabella
Per cambiare schema a un oggetto, usare la seguente sintassi: Continua a leggere Cambiare schema a un oggetto
Codice: 512
Messaggio in italiano: La sottoquery ha restituito più di un valore. Ciò non è consentito per le sottoquery che seguono i caratteri =, !=, <, <= , >, >= o utilizzate come espressione.
Continua a leggere 512 – La sottoquery ha restituito più di un valore. Ciò non è consentito per le sottoquery che seguono i caratteri =, !=, <, <= , >, >= o utilizzate come espressione.
Codice: 116
Messaggio in italiano: Se una sottoquery non è introdotta da EXISTS, nell’elenco di selezione è possibile specificare una sola espressione.
Continua a leggere 116 – Se una sottoquery non è introdotta da EXISTS, nell’elenco di selezione è possibile specificare una sola espressione.
Siccome uso spesso i cursori, ma non ricordo mai esattamente tutti i passaggi – ogni volta devo guardare qualche procedura che ho fatto tempo addietro – riporto qui tutti gli ingredienti e il codice completo. Continua a leggere Sintassi per usare un cursore
Codice: 2390
Messaggio in italiano: %1!I nodi %2! di livello principale non sono supportati.
Continua a leggere 2390 – %1!I nodi %2! di livello principale non sono supportati.