Skip to content

zgudino/mssql-toolkit

Repository files navigation

SPFullDatabaseBackup

Crea un respaldo completo (no-incremental) de base de dato

SPFullDatabaseBackup @DbName, @Path

@DbName

Requerido
Tipo: nvarchar(max)

Nombre canonico de base de dato

@Path

Requerido
Tipo: nvarchar(max)

Directorio local del servidor donde sera almacenado el respaldo. Por ahora es necesario que el URI termine con trailing slash, \; Ejemplo: X:\RootDir\.

Uso

Nota: Recomendamos crear el SP dentro de la DB master asi, puede respaldar multiples UDF-DB

EXEC SPFullDatabaseBackup N'ArrozConPolloDB', 'P:\'

SPMakeListOfExpressions

Retorna una lista de valores, envuelva entre comillas simples, separados por coma

SPMakeListOfExpressions @str, [@delm], @result = output

@str

Requerido
Tipo: nvarchar(255)

Cada de caracteres a evaluar

@delm

Opcional
Tipo: char(1)
Por defecto: ','

Caracter delimitador de cadena de caracteres

output

Requerido
Tipo: nvarchar(255) OUTPUT

Variable que almacena el resultado devuelto de procedimiento almacenado. Parametro OUTPUT no esta demas; OUTPUT indica que el parametro de entrada es un parametro de salida.

Para mas informacion sobre OUTPUT ver documentacion.

Uso

Mejor uso es con sentencias dinamicas.

declare @whsCodes nvarchar(255)
declare @cmd nvarchar(max)

exec SPMakeListOfExpressions N'02,03,04,05', @result = @whsCodes output

set @cmd =
N'
SELECT TOP 100 *
FROM [stocks]
WHERE ItemCode = N''AIE-010-40X40CM-R''
  AND WhsCode IN (' + @whsCodes + ')'

exec sp_executesql @cmd

/** -- Resutado --
ItemCode	    WhsCode	OnHand
AIE-010-40X40CM-R	02	0.000000
AIE-010-40X40CM-R	03	0.000000
AIE-010-40X40CM-R	04	0.000000
AIE-010-40X40CM-R	05	0.000000
*/

FNStringSplit

Devuelve una tabla con cada elemento dividido por el carácter delimitador

FNStringSplit(@str, [@delm])

@str

Requerido
Tipo: nvarchar(max)

Lista de cadenas separadas por el carácter delimitador.

@delm

Opcional
Tipo: char(1)
Por defecto: ','

Carácter delimitador sirve como una pista. Tenga en cuenta que si @delm no se especifica, debe escribir default de todos modos.

Documentacion oficial.

When a parameter of the function has a default value, the keyword DEFAULT must be specified when the function is called to retrieve the default value.

This behavior is different from using parameters with default values in stored procedures in which omitting the parameter also implies the default value. However, the DEFAULT keyword is not required when invoking a scalar function by using the EXECUTE statement.

value

Retorna: column
Tipo: nvarchar(max)

Devuelve columna de la tabla.

Uso

La intención de esta función de valor de tabla es de imitar la función oficial STRING_SPLIT. Sin embargo, sólo está disponible para el modo de compatibilidad 130, dejando así a muchos de nosotros deseando utilizar esta función impresionante.

SELECT value
FROM dbo.FNStringSplit('1,2,3,4', ',')

-- recorte de espacios
SELECT value
FROM dbo.FNStringSplit('1,2, 3,4    ', ',')

Resultado de las consultas anteriores.

# value
1 1
2 2
3 3
4 4

Por supuesto, ya que esta es una función de valor de tabla puede hacer consultas como de costumbre.

-- puede filtar
SELECT value
FROM dbo.FNStringSplit('1,2, 3,4    ', ',')
WHERE value IN (1, 3)
# value
1 1
2 3

About

Handy T-SQL snippets

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages