词条 | declare |
释义 | declare,英文单词,意为:宣布,宣告;声明。在计算机语言中有vb中Declare语句、vf中的定义数组、Linux的命令、SQL中declare等含义。 vb中Declare 语句语法和引用用于在模块级别中声明对动态链接库 (DLL) 中外部过程的引用。 语法 1[Public | Private] Declare Sub name Lib "libname" [Alias "aliasname"] [([arglist])] 语法 2[Public | Private] Declare Function name Lib "libname" [Alias "aliasname"] [([arglist])] [As type]Declare 语句的语法包含下面部分: 部分描述 Public可选的。用于声明对所有模块中的所有其它过程都可以使用的过程。 Private可选的。用于声明只能在包含该声明的模块中使用的过程。 Sub可选的(但 Sub 或 Function 二者需选其一)。表示该过程没有返回值。 Function可选的(但 Sub 或 Function 二者需选其一)。表示该过程会返回一个可用于表达式的值。 name必需的。任何合法的过程名。注意动态链接库的入口处(entry points)区分大小写。 Lib必需的。指明包含所声明过程的动态链接库或代码资源。所有声明都需要 Lib 子句。 libname必需的。包含所声明的过程动态链接库名或代码资源名。 Alias可选的。表示将被调用的过程在动态链接库 (DLL) 中还有另外的名称。当外部过程名与某个关键字重名时,就可以使用这个参数。当动态链接库的过程与同一范围内的公用变量、常数或任何其它过程的名称相同时,也可以使用 Alias。如果该动态链接库过程中的某个字符不符合动态链接库的命名约定时,也可以使用 Alias。 aliasname可选的。动态链接库或代码资源中的过程名。如果首字符不是数字符号 (#),则 aliasname 是动态链接库中该过程的入口处的名称。如果首字符是 (#),则随后的字符必须指定该过程的入口处的顺序号。 arglist可选的。代表调用该过程时需要传递的参数的变量表。 type可选的。Function 过程返回值的数据类型;可以是 Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(只支持变长)或 Variant,用户定义类型,或对象类型。 arglist 参数的语法以及语法各个部分如下: [Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type] 部分描述 Optional可选的。表示参数不是必需的。如果使用该选项,则 arglist 中的后续参数都必需是可选的,而且必须都使用 Optional 关键字声明。如果使用了 ParamArray,则任何参数都不能使用 Optional。 ByVal可选的。表示该参数按值传递。ByRef表示该参数按地址传递。 ByRef 是 Visual Basic 的缺省选项。 ParamArray可选的。只用于 arglist 的最后一个参数,表示最后的参数是一个 Variant 元素的 Optional 的数组。使用 ParamArray 关键字可以提供任意数目的参数。ParamArray 关键字不能与 ByVal、ByRef或 Optional 一起使用。 varname必需的。代表传给该过程的参数的变量名;遵循标准的变量命名约定。( )对数组变量是必需的。指明 varname 是一个数组。 type可选的。传递给该过程的参数的数据类型;可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(只支持变长)、Object、Variant、用户自定义的类型或对象类型。 说明和注意对Function 过程而言,过程的数据类型决定其返回值的数据类型。可以在 arglist 之后使用 As 子句来指定函数返回值的数据类型。在 arglist 中,可以使用 As 子句来指定任何传给该过程的参数的数据类型。不单可以指定为任何标准数据类型,还可以在 arglist 中指定 As Any 来禁止类型检查,从而允许将任意数据类型传递给该过程。 空圆括号表示该 Sub 或 Function 过程没有参数,且 Visual Basic 应确保不会传递任何参数。在下面的示例中,First 不带任何参数。如果对 First 的调用中使用了参数,就会产生错误:Declare Sub First Lib "MyLib" ()如果带参数表,则每次调用该过程时都要检查参数的个数和类型。 在下面的示例中,First 有一个 Long 参数:Declare Sub First Lib "MyLib" (X As Long) 注意1 在 Declare 语句的参数表中不能有定长的字符串;只有变长的字符串才能传给过程。定长的字符串可以作为过程参数使用,但在传递前都要被转换为变长的字符串。 注意2 当所调用的外部过程需要一个值为 0 的字符串时,就要使用 vbNullString 常数。该常数与零长度字符串 ("") 是不相同的。 vf中:定义数组在vf中,可以用declare定义数组,和dimension一样, 命令格式:dimension <数组名1>(<数字表达式1>[,<数字表达式2>])[,<数组名2>(数字表达式1>[,<数字表达式2>])……] 例如:DIMENSION A(1),B(1,1) Linux命令:declare功能说明:声明 shell 变量。 语 法:declare [+/-][afrix] 补充说明:declare为shell指令,在第一种语法中可用来声明变量并设置变量的属性([rix]即为变量的属性),在第二种语法中可用来显示shell函数。若不加上任何参数,则会显示全部的shell变量与函数(与执行set指令的效果相同)。 参 数: +/- "-"可用来指定变量的属性,"+"则是取消变量所设的属性。 -a 定义为数组array -f 定义为函数function -i 定义为整数integer -r 定义为只读 -x 定义为通过环境输出变量 SQL中declare功能说明:SQL块中声明变量。 语 法:declare 变量名称 变量类型; l_count number; 例: declare l_sql varchar2(2000); l_count number; l_param1 varchar2(100); l_param2 varchar2(100); begin SQL中declare的经典语句一.随机批量插入信息 DECLARE @MyID uniqueidentifier DECLARE @INT AS INT SET @INT = 0 WHILE @INT < 20 --这里设置需要插入多少行 BEGIN SET @INT = @INT + 1 SET @MyID = NEWID() INSERT INTO testss (testa, testb,CateID) SELECT substring(CONVERT(nvarchar(50), @MyID),3,16), substring(CONVERT(nvarchar(50), @MyID),5,16),rand() * 100 END 二.批量更新 DECLARE @INT AS INT DECLARE @ntt AS INT SET @INT = 1 set @ntt = 1 WHILE @INT <1000 WHILE @ntt <10000--设置对应行数 BEGIN SET @INT = @INT + 1 set @ntt = @ntt + 1 update aatable set UserID=@INT where ID=@ntt END |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。