首页 > 解决方案 > 我想在 sql 中使用用户 ID 创建一个数组,并创建一个循环从数组中选择用户 ID

问题描述

我想在 sql 中创建一个带有用户 ID 的数组,并创建一个从数组中选择用户 ID 的循环。并在 sql db 中创建一个用户。

请在下面找到代码。它没有按预期工作:

declare type namesarray IS VARARRAY (50) OF VARCHAR2 (10);
declare name namesarray;
declare total integer;

names = namesarray('resh1','resh2');
total = names.count;

while (i <= total)
begin
    EXECUTE IMMEDIATE 'create user names(i) identified by newpass01;
    dbms_output.put_line("created user 'names(i)");
end

dbms_output.put_line("cannot create user 'names(i)");

标签: sqlsql-server

解决方案


在 Sql Server 中,它完成如下。您可以使用表变量。

Declare @namesarray table
     (name  varchar(50));

Declare @Name varchar(50);

Insert @namesarray values ('resh1');
Insert @namesarray values ('resh2');

Declare name_cur CURSOR FOR
Select name from  @namesarray ;

OPEN name_cur
    FETCH NEXT FROM name_cur INTO @Name
        WHILE @@FETCH_STATUS = 0
        BEGIN
            Print @Name
        FETCH NEXT FROM name_cur INTO @Name
        END
    CLOSE name_cur
DEALLOCATE name_cur

推荐阅读