Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plsql “不理解”;“可变长度”;在PL/.SQL中_Plsql - Fatal编程技术网

Plsql “不理解”;“可变长度”;在PL/.SQL中

Plsql “不理解”;“可变长度”;在PL/.SQL中,plsql,Plsql,请参阅下面摘自PL/SQL教程的摘录。我有一个问题的部分是第3行,它说薪水的长度是6。我不明白那是什么意思。在本摘录的最后一行中,它声明了一个变量“长度为10”,然后将其初始化为“HR Dept”,当然不是10个字符。什么是长度 当变量指定为NOTNULL时,必须在声明变量时初始化该变量 例如:下面的示例声明了两个变量,其中一个是NOTNULL DECLARE salary number(4); dept varchar2(10) NOT NULL := “HR Dept”; 另一个例

请参阅下面摘自PL/SQL教程的摘录。我有一个问题的部分是第3行,它说薪水的长度是6。我不明白那是什么意思。在本摘录的最后一行中,它声明了一个变量“长度为10”,然后将其初始化为“HR Dept”,当然不是10个字符。什么是长度


当变量指定为NOTNULL时,必须在声明变量时初始化该变量

例如:下面的示例声明了两个变量,其中一个是NOTNULL

DECLARE

salary number(4);

dept varchar2(10) NOT NULL := “HR Dept”;

另一个例子:

DECLARE 



var_salary number(6); 

 var_emp_id number(6) = 1116; 
1116不是6位数字。我不知所措。

最大长度。如果你试图将11个字符存储到
dept
中,或者无论你的工作是什么,你都会发现这一点

这与创建表时没有什么不同:

create table users (
    id     integer,
    name   varchar(20)
);
在这种情况下,
20
是名称的最大长度。这并不意味着每行都必须有一个20个字符的名称。

这些是数据的最大“长度”。下面是数字的确切含义:

编号[(p[,s])]

具有精度p和刻度s的数字。精度p的范围为 1至38。刻度s的范围从-84到127。既精确又可靠 刻度以十进制数字表示。数字值要求介于1到22之间 字节

NUMBER(6)
类型的变量可以存储-999999到999999之间的任何数字

对于VARCHAR2:

VARCHAR2(大小[字节字符])

具有可变长度的字符串 最大长度大小为字节或字符。最大大小为4000字节或更大 字符,最小值为1字节或1个字符。您必须指定 VARCHAR2的大小。BYTE表示该列将有字节 长度语义。CHAR表示该列将具有字符 语义学


VARCHAR2(10)最多可以存储10个字节或10个字符(取决于参数
nls\u length\u semantics
)。

在oracle中,数字变量的长度是它可以容纳的最大位数。就你的情况而言,你的数字可以在-99999到999999之间

HOLY@#*#$)196K哥们,你是什么?
create table users (
    id     integer,
    name   varchar(20)
);