Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Changer la taille de l'image de 150*150 à 70*70 en utilisant la requête sql ?

Je suis d'accord avec les points de tout le monde ici, mais si vous le vouliez ou le deviez vraiment, vous pourriez activer l'intégration CLR sur SQL Server, créer un assembly qui pourrait redimensionner votre image, puis l'appeler à partir d'un déclencheur ou d'un proc. Ce n'est pas très dur. Voici une page qui décrit le processus :http:// msdn.microsoft.com/en-us/library/ms254498(VS.80).aspx

En gros pour activer le CLR sur le SQL Server :

sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO

Créez un assembly C# pour redimensionner votre image :

using System;
using System.Data;
using Microsoft.SqlServer.Server;
using System.Data.SqlTypes;

public class ResizeImageProc
{
    [Microsoft.SqlServer.Server.SqlProcedure]
    public static void ResizeImage(int ImageID, int width, int height)
    {
       //TODO: ResizeImage Code
    }
}

Compiler l'assembly

csc /target:library ResizeImageProc.cs 

Chargez l'assembly dans SQL Server :

CREATE ASSEMBLY ResizeImageAssembly from 'c:\ResizeImageProc.dll' WITH PERMISSION_SET = SAFE

Créer la procédure

CREATE PROCEDURE ResizeImage AS EXTERNAL NAME ResizeImageAssembly.ResizeImageProc.ResizeImage

Après cela, vous pouvez l'appeler comme un proc normal. Par exemple :

EXEC ResizeImage(1,800,600)