Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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
SQL和db2create命令_Sql_Database_Db2 - Fatal编程技术网

SQL和db2create命令

SQL和db2create命令,sql,database,db2,Sql,Database,Db2,我正在学习一个关于如何在linux环境中使用DB2的教程 我应该连接到数据库,创建一个表,在db2 shell下插入一些数据: db2连接到c3421m db2 db2=>在赋值时使用z_0.txt更新命令选项 db2=>使用v ON更新命令选项 db2=>CREATE TABLE BAND_2015//给出了我在这里遇到的错误 //这里是我陷入困境的地方,我应该创建一个表并在DB2shell下执行以下命令:createTableBand_2015 所给代码: create table band

我正在学习一个关于如何在linux环境中使用DB2的教程

我应该连接到数据库,创建一个表,在db2 shell下插入一些数据:

db2连接到c3421m

db2

db2=>在赋值时使用z_0.txt更新命令选项

db2=>使用v ON更新命令选项

db2=>CREATE TABLE BAND_2015//给出了我在这里遇到的错误

//这里是我陷入困境的地方,我应该创建一个表并在DB2shell下执行以下命令:createTableBand_2015

所给代码:

create table band_2015 ( \

band_no integer not null primary key, \
band_name varchar(25) not null, \
band_home varchar(25) not null, \
band_type varchar(10) check (band_type in (‘concert’,’rock’,’jazz’,’military’)), \
b_start_date date not null, \
band_contact varchar(10) not null )

那么如何创建这个表呢?我被告知将其复制到文本编辑器(是否将其保存为band_2015.sql?)。我对此一无所知,但我在其他编程语言方面有很多经验…

在DB2命令行处理器中,默认情况下,命令和语句不能跨越多行,因此它将
CREATE TABLE BAND_2015
视为一个完整的语句,当然情况并非如此。在给您的代码中,这些反斜杠的出现是有原因的——它们向CLP指示语句在下一行继续


或者,您可以使用命令行选项
-t
启动CLP,该选项将指定分号(而不是新行)作为语句终止符。然后,您可以按原样键入语句,而不使用反斜杠,并用“;”

终止字符终止语句。默认情况下,在回车中输入。但是,对于教程,应键入多行命令。对于这种情况,可以通过定义另一个终止符来更改终止符字符

分号

db2 -t

select *
from table;
用于at符号或任何其他字符

db2 -td@

select *
from table @
对于非字符:

db2

select * from table

如果您只是尝试一行命令,比如“创建表t1(c1整数非空主键)”,会发生什么情况?db2=>CREATETABLET1给出了这个错误->“DB21034E该命令作为SQL语句处理,因为它不是有效的命令行处理器命令。在SQL处理过程中,它返回:SQL0104N在“创建”之后发现一个意外的标记“表”。预期的标记可能包括:“表空间”。SQLSTATE=42601“您不必启动clp并从clp内部执行操作。另一种方法是直接从sh执行sql命令。即
db2“创建表band\u 2015(\band\u no integer not null主键,\band\u name varchar(25)not null,\band\u home varchar(25)不为空,\n带\u类型varchar(10)检查(带\u类型输入('concert'、'rock'、'jazz'、'military')),\b\u开始日期不为空,\n带\u联系varchar(10)不为空)“
您也可以将sql语句放在一个文件中,并作为
db2-tf myfile.sql运行它们
好的,所以基本上我只需在终端中复制每一行,比如db2=>create table band_2015(\等等?实际上没关系,我现在找到了,非常感谢您提到反斜杠和terminate字符