Inicio > Sql 2012 Denali > Introducción a las funciones

Introducción a las funciones


Fundamentos de Funciones

Una función es una sección de código que se utiliza para realizar una tarea aislada.

En Transact-SQL, una función es considerada un objeto. Después de crear el objeto función, se convierte en parte de una base de datos. A continuación, puede ejecutar cuando sea necesario.

Creación de una Función

Hay varias maneras  para comenzar la creación de una función:

En el Explorador de objetos, expanda la base de datos deseada. Expanda el nodo mediante programación. Expanda el nodo Funciones. Haga clic con valores escalares de funciones y haga clic en Nueva función con valores escalares …

001 Introduction to Functions

Se generara lo siguiente:

002 Introduction to Functions

El nombre de una función

Aquí están las reglas que se utilizan para nombrar nuestras funciones:

Un nombre debe de comenzar con un carácter de subrayado o una letra.

Ejemplos de ello son : _n , n

Después de que el primer carácter como un carácter de subrayado o una letra, el nombre tendrá combinaciones de relieve, letras y números.

Ejemplos son:  _n24, act_52_t

En el  nombre no incluir caracteres especiales como!, @, #, $,%, ^, & O *

Vamos a evitar el uso de espacios en un nombre.

Si el nombre es una combinación de palabras, cada palabra se iniciará en mayúsculas.

Ejemplos son:  DateHired, _RealSport, o DriversLicenseNumber

Devolver un valor desde una función

Para que una función para que sea útil, debe producir un resultado. Esto también se dice que la función devuelve un resultado o un valor. Al crear una función, se debe especificar el tipo de valor que la función devolvería. Para proporcionar esta información, después del nombre de la función, escriba la palabra clave RETURNS seguido de una definición de un tipo de datos.

He aquí un ejemplo simple:

CREATE FUNCTION Agregar()

RETURNS Decimal(6,3)

Después de especificar el tipo de valor que la función devolvería, puede crear un cuerpo de la función. El cuerpo de una función comienza con el BEGIN y termina con las palabras clave END. Aquí está un ejemplo:

CREATE FUNCTION Agregar()

RETURNS Decimal(6,3)

BEGIN

 

END

Si lo desea, puede escribir la palabra clave AS antes de la palabra clave BEGIN:

CREATE FUNCTION Agregar()

RETURNS Decimal(6,3)

AS

BEGIN

 

END

Entre las palabras clave BEGIN y END, que es la sección que representa el cuerpo de la función, se puede definir la asignación de la función debe realizar. Después de realizar esta tarea, justo antes de la palabra clave END, se debe especificar el valor que devuelve la función. Esto se hace escribiendo la palabra clave return seguida de una expresión. Una fórmula de la muestra es:

CREATE FUNCTION Agregar()

RETURNS Decimal(6,3)

AS

BEGIN

RETURN Expression

END

Ejemplos de Funciones:

003 Introduction to Functions

004 Introduction to Functions

Debido que una función en Transact-SQL se trata como un objeto, es posible que necesite mantenimiento.

Algunas de las acciones que llevaría a cabo incluyen el cambio de nombre, modificación o eliminación de una función.

Si se crea una función, se almacena en el nodo de Funciones escalares con el nombre que le dio. Si lo desea, puede cambiar este nombre sino también mantener la funcionalidad de la función.

Para cambiar el nombre de una función, en el Explorador de objetos, haga clic con el botón y haga clic en Cambiar nombre. Escribe el nombre nuevo y pulse Intro.

005 Introduction to Functions

Para eliminar una función en el Explorador de objetos, busque la función en la sección Funciones, haga clic con el botón derecho y elija la opción Eliminar.

Si desea eliminar la función, haga clic en Aceptar, de lo contrario, haga clic en Cancelar.

006 Introduction to Functions

En una ventana de consulta, Ejecute DROP FUNCTION  seguido del nombre de la función

007 Introduction to Functions

Modificar una función

Como ya se mencionó, en el cuerpo de la función, se define cuál es la función que se supone que cuidar. Como mínimo, una función puede devolver un número simple, escrito en el lado derecho de la palabra clave RETURNS.

Aquí está un ejemplo:

008 Introduction to Functions

Funciones con Parámetros

Ya hemos visto que el nombre de una función también es seguido por paréntesis. Si la función no utiliza un valor externo, sus paréntesis se pueden dejar vacíos. Si una función se utilizará un valor externo, cuando se crea la función, se debe especificar el nombre y el tipo de valor de los parámetros. El nombre del parámetro se crea con el signo @, como una variable

Aquí está un ejemplo:

009 Introduction to Functions

Una función similar con varios parámetros :

010 Introduction to Functions

En algunos casos, si la función se suele llamar con el mismo valor de un argumento, se puede especificar un valor por defecto para ese argumento.

Cuando esta función se llama, usted (o el usuario) puede omitir el valor del argumento.

Aquí dejo un ejemplo:

011 Introduction to Functions

Funciones y permisos
El derecho a crear funciones

Si está trabajando en un entorno grande con muchos usuarios, puede que no desee que todos ellos puedan añadir nuevas funciones a una base de datos.

De hecho, se puede controlar quién tiene la capacidad para crear funciones y que pueda ejecutarlos.

Aquí un ejemplo :

Creamos un Usuario:

012 Introduction to Functions

013 Introduction to Functions

014 Introduction to Functions

Si deseamos evitar que el usuario que creamos no pueda crear funciones, utilice el operador DENY.

Aquí está un ejemplo:

015 Introduction to FunctionsVerificamos que se realizó el comando

016 Introduction to Functions

017 Introduction to Functions

Nos conectamos a la DB con el usuario que hemos creado

018 Introduction to Functions

Ahora le concedemos el permiso para poder crear funciones :

019 Introduction to Functions020 Introduction to Functions021 Introduction to Functions

Si usted trabaja en un entorno de producción, es posible que desee tener sólo algunos desarrolladores creando funciones mientras los demás sólo pueden ejecutar o probar las funciones existentes.

Para ejercer este control, la base de datos está equipada con un permiso llamado EXECUTE que está asociado con una función.

Para dar visualmente este derecho, en las Propiedades de base de datos, busque la entrada Exercute en la sección Permisos.

022 Introduction to Functions

023 Introduction to Functions

Por otra parte, para evitar que un usuario pueda ejecutar una función, aquí les dejo un ejemplo :

024 Introduction to Functions

Ejecutamos con el usuario javila

025 Introduction to Functions

026 Introduction to Functions

 

RegresarAlTutorial

Categorías:Sql 2012 Denali
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: