/* 建立扩展存储过程 begin */
CREATE ASSEMBLY JadeFashionProcedure from 'F:\JadeFashionDB\JadeFashionProcedure.dll' WITH PERMISSION_SET = SAFE
Go
  CREATE PROCEDURE GetUUID_PROC
  @value nvarchar(64) output
  AS
EXTERNAL NAME JadeFashionProcedure.JadeFashionProcedure.GetUUID  
goEXEC sp_configure 'clr enabled', '1';
RECONFIGURE;
--exec GetUUID   --测试调用扩展存储过程
/* 建立扩展存储过程 end */
GO
/*  BEGIN
新增权限的初始化 
选择相应的权限组之后,自动生成所有模块的初始权限
*/
If exists(select 1 from sysobjects where name='IniInsert_T0015_PROC') 
drop procedure IniInsert_T0015_PROC 
go
CREATE PROCEDURE IniInsert_T0015_PROC
    @GroupID varchar(50)
with encryption 
AS 
begin
    DECLARE @MODULEID varchar(50)
    DECLARE @UUID nvarchar(64)
    DECLARE @SQL varchar(1000)
DECLARE t0001_cursor CURSOR FOR
SELECT F0001 FROM T0001 where F0005<>''
ORDER BY F0008  OPEN t0001_cursor FETCH NEXT FROM t0001_cursor
INTO @MODULEID WHILE @@FETCH_STATUS = 0
BEGIN
    exec GetUUID_PROC @UUID output
    set @SQL = 'insert into T0015(F0001,F0002,F0003,F0004) values('''+@UUID+''','''+@GroupID+''','''+@MODULEID+''',''00000'')'
    select @SQL
    if(not exists(select 1 from T0015 where F0002= @GroupID and F0003=@MODULEID))
    begin
exec(@SQL)
end
FETCH NEXT FROM t0001_cursor
INTO @MODULEID
END CLOSE t0001_cursor
DEALLOCATE t0001_cursor
end
go--示例 exec IniInsert_T0015_PROC 'bd98b59926fb4a91a19dbc48ccbfe365'
--测试 select * from T0015  delete from T0015
/*  END *//* 建立取UUID的函数 */
GO
IF OBJECT_ID ('GetUUID', N'FN') IS NOT NULL
    DROP FUNCTION GetUUID;
GO
CREATE FUNCTION GetUUID()
RETURNS nvarchar(64)
WITH EXECUTE AS CALLER
AS
BEGIN
DECLARE @UUID nvarchar(64)
exec  GetUUID_PROC @UUID output
--select @UUID
return @UUID
END;
GO

解决方案 »

  1.   

    建议你自己先按照 MYSQL中的语法说明自己改一下。然后如果有什么问题可以贴出来大家一起讨论。
      

  2.   

    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  3.   

    CREATE ASSEMBLY JadeFashionProcedure from 'F:\JadeFashionDB\JadeFashionProcedure.dll' WITH PERMISSION_SET = SAFE
    Go
      CREATE PROCEDURE GetUUID_PROC
      @value nvarchar(64) output
      AS
        EXTERNAL NAME JadeFashionProcedure.JadeFashionProcedure.GetUUID  
    go这个开始的东东都不知道是干什么的~~晕了
      

  4.   

    哦,你是不明白SQL SERVER的存储过程啊。
    那帮你转到SQL SERVER 版去问吧。
      

  5.   

    扩展的外部动态链接库,需要你知道JadeFashionProcedure.dll他的源码和所实现的功能。
      

  6.   

    CREATE FUNCTION JadeFashionProcedure RETURNS STRING SONAME "JadeFashionProcedure.dll";Query : CREATE FUNCTION JadeFashionProcedure RETURNS STRING SONAME "JadeFashionProcedure.dll"
    Error Code : 1127
    Can't find symbol 'JadeFashionProcedure' in library
    Execution Time : 00:00:00:000
    Transfer Time  : 00:00:00:000
    Total Time     : 00:00:00:000dll文件放到了mysql安装目录下的lib/plugin