第12章SQL语句.ppt
文本预览下载声明
第12章 SQL语句 12.1 嵌入式SQL语句 12.2 动态SQL语句 12.1.1 Select语句 格式: SELECT col1, col2, …,coln INTO :var1, :var2, …:varn FROM table_name [WHERE condition_expression] [USING transaction_object]; 其中: l???col1、col2等均为列名。 l???table_name为表名。 l???condition_expression为条件表达式。 l???var1、var2等均为PowerScript中定义的变量。 l??transaction_object表示当前连接数据库的事务处理对象,默认值为SQLCA 功能:从数据库中检索第一条满足条件的记录,并将结果存放到变量var1、var2、…、varn中。 12.1.1 Select语句 例如,从表student中查找name为“李华”的记录,如果找到的话,则将其id、sex、math的值存入变量s1、s2、m1中。程序如下: string s1, x1 char s2 int m1 x1=李华 select id, sex, math into :s1, :s2, :m1 from student where name=:x1 using sqlca; //这里有一个分号 在上面的程序中,并没有用Datawindow,而是用嵌入式SQL语句从数据库中获取了所要的数据。不过,只能读取一条记录。要处理多条记录,必须用游标。 12.1.2 Insert语句 格式: INSERT [INTO] table_name [(col1, col2, …, coln)] VALUES(v1, v2, …, vn) [USING transaction_object]; 其中: l???col1、col2等均为列名。 l???table_name为表名。 l???v1、v2等为PowerScript表达式。 l??transaction_object表示当前连接数据库的事务处理对象,默认值为SQLCA 功能:在表table_name中插入一条记录,各列的值依次分别为v1、v2等,若某列的列名未给,则值为NULL。 注意:如所有的列名都未给,则在Values中必须依次给出所有列的值。给出的值的类型必须与对应的列的类型相一致。 12.1.2 Insert语句 例如,在表student中插入一条记录,其列id、name、sex、math的值分别为 、张伟、’f’ 、89,其余列的值为NULL。 程序如下: string s_id, s_name s_id= s_name=张伟 insert student(id, name, sex, math) values(:s_id, :s_name, ’f’, 89); 例如,在表student中插入一条记录,其列id、name、sex、class、age、math的值分别为 、’胡圆圆’ 、’m’ 、null、null、96、null。程序如下: Insert student values(, ’胡圆圆’, ’m’, null, null, 96, null) using transaction_object; 12.1.3 Update语句 格式: UPDATE table_name SET col1=v1 [,col2=v2, …, coln=vn] [WHERE condition_expression] [USING transaction_object]; 其中: l???col1、col2等均为列名。 l???table_name为表名。 l???condition_expression为条件表达式。 l???v1、v2等为PowerScript表达式。 l?transaction_object表示当前连接数据库的事务处理对象,默认值为SQLCA 功能:更新表table_name中满足条件的记录,使列col1的值为v1、列col2的值为v2等。 注意:如不给出条件,则更新表中所有行。 例如,将表student中所有姓王的学生的数学成绩变为0。程序如下: int m=0 update student set math=:m where nam
显示全部