유 니 버 설 sql 일괄 처리 실행 과정

sql 을 실행 하 는 일반적인 과정 입 니 다. 파 라 메 터 를 수신 하고 데이터베이스 에 저 장 된 SQL 문 구 를 찾 으 며 파 라 메 터 를 연결 하고 실행 하 는 과정 은 일반 프로젝트 의 대부분 업 무 를 해결 하고 저장 할 수 있 습 니 다.
CREATE PROC [dbo].[MY_EXEC_SQL]
@Code   NVARCHAR(100),
@Param  NVARCHAR(MAX)
AS
BEGIN
    DECLARE @id   INT;
    DECLARE @cnt  INT;
    DECLARE @str  NVARCHAR(MAX);
    DECLARE @key  NVARCHAR(100);
    DECLARE @val  NVARCHAR(MAX);
    DECLARE @sql  NVARCHAR(MAX);
    DECLARE @params  TABLE(
        id INT,
        content NVARCHAR(MAX)
    );
    DECLARE @keyVal  TABLE(
        id INT,
        content NVARCHAR(MAX)
    );
    SELECT @sql = SqlStr FROM MySqlTable WHERE Code = @Code;
    INSERT INTO   @params SELECT * FROM MY_SPLIT(@Param, '§');
    SET    @key = '';
    SET    @val = '';
    SET    @id  = 1;
    SELECT @cnt = COUNT(1) FROM @params;
    WHILE  @id <= @cnt
    BEGIN
        SELECT @str = Content FROM @params WHERE id = @id;
        INSERT INTO   @keyVal SELECT * FROM MY_SPLIT(@str, '|');
        SELECT @key = Content FROM @keyVal WHERE id = 1;
        SELECT @val = Content FROM @keyVal WHERE id = 2;
        SET    @sql = REPLACE(@sql, @key, @val);
        SET    @id  = @id + 1;
        SET    @key = '';
        SET    @val = '';
        DELETE @keyVal;
    END
    EXEC(@sql);
END

좋은 웹페이지 즐겨찾기