查询出结果之后
rs.Find("姓名='"&StuName&"'")
StuName就是文本框里面的具体姓名,如果datagrid有匹配的值光标就会移动到那行,否则datagrid就没有光标了
‘贰’ 请问pl sql developer有没有快捷键可以让我光标放在哪一行,然后按快捷键就执行这一行sql语句啊,谢谢
设置参数,自动选中光标所在行的sql即可
tools->preferences->sql window->autoSelect Statement
然后按F8就会执行光标所在行。
要注意的是,光标所在行需要以;结尾,否者会报错。
‘叁’ sql编辑器可以批量编辑吗
比如在Excel中有一批学生编号,我们要从数据库中查找到每个学号对应的学生姓名,年龄和班级。如下:
‘肆’ SQL Server 2005 的查询编辑器如何一次执行一条语句
sql server 和oracle都是选中部分被执行,如果没有选择就会全部执行!
‘伍’ plsql 换行的问题,如图光标在第三行,如何移动到上一行,试了半天不行。。。
这个是命令行的,回不去的。
换用sqldeveloper吧
‘陆’ 新手自学,,请问PL/SQL 怎么进sql查询编辑器 具体步骤!先谢了
一、本地动态SQL
本地动态SQL是使用EXECUTE IMMEDIATE语句来实现的。
1、本地动态SQL执行DDL语句:
需求:根据用户输入的表名及字段名等参数动态建表。
create or replace procere proc_test
(
table_name in varchar2, --表名
field1 in varchar2, --字段名
datatype1 in varchar2, --字段类型
field2 in varchar2, --字段名
datatype2 in varchar2 --字段类型
) as
str_sql varchar2(500);
begin
str_sql:=’create table ’||table_name||’(’||field1||’ ’||datatype1||’,’||field2||’ ’||datatype2||’)’;
execute immediate str_sql; --动态执行DDL语句
exception
when others then
null;
end ;
以上是编译通过的存储过程代码。下面执行存储过程动态建表。
SQL> execute proc_test(’dinya_test’,’id’,’number(8) not null’,’name’,’varchar2(100)’);
PL/SQL procere successfully completed
SQL> desc dinya_test;
Name Type Nullable Default Comments
---- ------------- -------- ------- --------
ID NUMBER(8)
NAME VARCHAR2(100) Y
SQL>
到这里,就实现了我们的需求,使用本地动态SQL根据用户输入的表名及字段名、字段类型等参数来实现动态执行DDL语句。
2、本地动态SQL执行DML语句。
需求:将用户输入的值插入到上例中建好的dinya_test表中。
create or replace procere proc_insert
(
id in number, --输入序号
name in varchar2 --输入姓名
) as
str_sql varchar2(500);
begin
str_sql:=’insert into dinya_test values(:1,:2)’;
execute immediate str_sql using id,name; --动态执行插入操作
exception
when others then
null;
end ;
执行存储过程,插入数据到测试表中。
SQL> execute proc_insert(1,’dinya’);
PL/SQL procere successfully completed
SQL> select * from dinya_test;
ID NAME
1 dinya
在上例中,本地动态SQL执行DML语句时使用了using子句,按顺序将输入的值绑定到变量,如果需要输出参数,可以在执行动态SQL的时候,使用RETURNING INTO 子句,如:
declare
p_id number:=1;
v_count number;
begin
v_string:=’select count(*) from table_name a where a.id=:id’;
execute immediate v_string into v_count using p_id;
end ;
更多的关于动态SQL中关于返回值及为输出输入绑定变量执行参数模式的问题,请读者自行做测试。
二、使用DBMS_SQL包
使用DBMS_SQL包实现动态SQL的步骤如下:A、先将要执行的SQL语句或一个语句块放到一个字符串变量中。B、使用DBMS_SQL包的parse过程来分析该字符串。C、使用DBMS_SQL包的bind_variable过程来绑定变量。D、使用DBMS_SQL包的execute函数来执行语句。
1、使用DBMS_SQL包执行DDL语句
需求:使用DBMS_SQL包根据用户输入的表名、字段名及字段类型建表。
create or replace procere proc_dbms_sql
(
table_name in varchar2, --表名
field_name1 in varchar2, --字段名
datatype1 in varchar2, --字段类型
field_name2 in varchar2, --字段名
datatype2 in varchar2 --字段类型
)as
v_cursor number; --定义光标
v_string varchar2(200); --定义字符串变量
v_row number; --行数
begin
v_cursor:=dbms_sql.open_cursor; --为处理打开光标
v_string:=’create table ’||table_name||’(’||field_name1||’ ’||datatype1||’,’||field_name2||’ ’||datatype2||’)’;
dbms_sql.parse(v_cursor,v_string,dbms_sql.native); --分析语句
v_row:=dbms_sql.execute(v_cursor); --执行语句
dbms_sql.close_cursor(v_cursor); --关闭光标
exception
when others then
dbms_sql.close_cursor(v_cursor); --关闭光标
raise;
end;
以上过程编译通过后,执行过程创建表结构:
SQL> execute proc_dbms_sql(’dinya_test2’,’id’,’number(8) not null’,’name’,’varchar2(100)’);
PL/SQL procere successfully completed
SQL> desc dinya_test2;
Name Type Nullable Default Comments
---- ------------- -------- ------- --------
ID NUMBER(8)
NAME VARCHAR2(100) Y
SQL>
2、使用DBMS_SQL包执行DML语句
需求:使用DBMS_SQL包根据用户输入的值更新表中相对应的记录。
查看表中已有记录:
SQL> select * from dinya_test2;
ID NAME
1 Oracle
2 CSDN
3 ERP
SQL>
建存储过程,并编译通过:
create or replace procere proc_dbms_sql_update
(
id number,
name varchar2
)as
v_cursor number; --定义光标
v_string varchar2(200); --字符串变量
v_row number; --行数
begin
v_cursor:=dbms_sql.open_cursor; --为处理打开光标
v_string:=’update dinya_test2 a set a.name=:p_name where a.id=:p_id’;
dbms_sql.parse(v_cursor,v_string,dbms_sql.native); --分析语句
dbms_sql.bind_variable(v_cursor,’:p_name’,name); --绑定变量
dbms_sql.bind_variable(v_cursor,’:p_id’,id); --绑定变量
v_row:=dbms_sql.execute(v_cursor); --执行动态SQL
dbms_sql.close_cursor(v_cursor); --关闭光标
exception
when others then
dbms_sql.close_cursor(v_cursor); --关闭光标
raise;
end;
执行过程,根据用户输入的参数更新表中的数据:
SQL> execute proc_dbms_sql_update(2,’csdn_dinya’);
PL/SQL procere successfully completed
SQL> select * from dinya_test2;
ID NAME
1 Oracle
2 csdn_dinya
3 ERP
SQL>
执行过程后将第二条的name字段的数据更新为新值csdn_dinya。这样就完成了使用dbms_sql包来执行DML语句的功能。
使用DBMS_SQL中,如果要执行的动态语句不是查询语句,使用DBMS_SQL.Execute或DBMS_SQL.Variable_Value来执行,如果要执行动态语句是查询语句,则要使用DBMS_SQL.define_column定义输出变量,然后使用DBMS_SQL.Execute, DBMS_SQL.Fetch_Rows, DBMS_SQL.Column_Value及DBMS_SQL.Variable_Value来执行查询并得到结果。
‘柒’ PL/sql 按哪个快捷键可以选中一行的sql语句
转到行号。 CTRL+G
下表列出 SQL Server 查询分析器提供的所有键盘快捷方式。
活动 快捷方式
书签:清除所有书签。 CTRL-SHIFT-F2
书签:插入或删除书签(切换)。 CTRL+F2
书签:移动到下一个书签。 F2 功能键
书签:移动到上一个书签。 SHIFT+F2
取消查询。 ALT+BREAK
连接:连接。 CTRL+O
连接:断开连接。 CTRL+F4
连接:断开连接并关闭子窗口。 CTRL+F4
数据库对象信息。 ALT+F1
编辑:清除活动的编辑器窗格。 CTRL+SHIFT+DEL
编辑:注释代码。 CTRL+SHIFT+C
编辑:复制。还可以使用 CTRL+INSERT。 CTRL+C
编辑:剪切。还可以使用 SHIFT+DEL。 CTRL+X
编辑:减小缩进。 SHIFT+TAB
编辑:在编辑器窗格中删除至行尾。 CTRL+DEL
编辑:查找。 CTRL+F
编辑:转到行号。 CTRL+G
编辑:增大缩进。 TAB
编辑:使选定内容为小写。 CTRL+SHIFT+L
编辑:使选定内容为大写。 CTRL+SHIFT+U
编辑:粘贴。还可以使用 SHIFT+INSERT。 CTRL+V
编辑:删除注释。 CTRL+SHIFT+R
编辑:重复上次搜索或查找下一个。 F3 功能键
编辑:替换。 CTRL+H
编辑:全选。 CTRL+A
编辑:撤消。 CTRL+Z
执行查询。还可以使用 CTRL+E (针对向后兼容性)。 F5 功能键
SQL 查询分析器帮助。 F1 功能键
对所选 Transact-SQL 语句的帮助。 SHIFT+F1
浏览:在查询窗格和结果窗格之间切换。 F6 功能键
浏览:切换窗格。 Shift+F6
浏览:窗口选择器。 CTRL+W
"新建查询"窗口。 CTRL+N
对象浏览器(显示/隐藏)。 F8 功能键
对象搜索。 F4 功能键
分析查询并检查语法。 CTRL+F5
打印。 CTRL+P
结果:以表格格式显示结果。 CTRL+D
结果:以文本格式显示结果。 CTRL+T
结果:移动拆分器。 CTRL+B
结果:将结果保存为文件。 CTRL+SHIFT+F
结果:显示结果窗格(切换)。 CTRL+R
保存。 CTRL+S
模板:插入模板。 CTRL+SHIFT+INSERT
模板:替换模板参数。 CTRL+SHIFT+M
优化:显示预估执行计划。 CTRL+L
优化:显示执行计划(切换开/关)。 CTRL+K
优化:索引优化向导。 CTRL+I
优化:显示客户统计 CTRL+SHIFT+S
优化:显示服务器跟踪。 CTRL+SHIFT+T
使用数据库。 CTRL+U(王朝网络 wangchao.net.cn)
-
‘捌’ oracle sql developer代码编辑行是灰色的,也就是光标到哪行,哪行是灰色,怎么改成白色的,灰色看着不爽
open oracle sql developer tools, -Preferences-Code Editor-PL/SQL Syntax colors,change (theCurrent Line)of background,and you can difine your own colors.
‘玖’ SQL数据表批量增加数据行
将EXCEL表导入SQL表
医院在正式使用软件之前,需要将药品、收费项目等进行集中录入。这是一件基础工作,工作量大。如果能够先将药品、收费项目输入到EXCEL表中,再直接导入我们的软件,这样可以加快录入速度。
从EXCEL中导入数据到SQL中,操作步骤如下:
准备阶段(主要是为药品或者项目生成六位数的字母编码。):
首行,需要在EXCEL中增加一列,为药品生成编码。软件默认的编码格式为六位字母。1、人工录入完成的EXCEL表样式:
请将第一行中的编码、名称、处方单位等中文改成对应的拼音字母:
编码(bm)、药品名称(mc)、处方单位(dw)、整量单位(kxdw)、换算系数(xs)、规格(ggxh)、零售价(lsj)、药品分类(zxfl)
这时,编码(bm)列为空,在灵图医院软件中,药品的编码格式为六位字母,如AAAABA、AAAABB等,但如何能够按顺序生成这样的编码呢?操作步骤如下:
依次点工具-宏-visaul basic 编辑器,新弹出窗口如下:
在左边的对象上,右键,选择“导入文件…”,在文件选择路径中,找到医院软件目录中的bm.bas文件,确定。
这时,在“模块”下方将增加“自动编码”模块,
关掉本窗口,返回到EXCEL窗口
在表的A2单元格中输入编码:AAAABA
选中A3单元格,在上面的公式条中输入=GETNEXTBM(A2),回车确认,则A3单元格中的值自动生成为:AAAABB
选中A3单元格,往下拉,所有的编码将自动生成。
二、将EXCEL表导入SQL表
1、依次打开SQL的企业管理器-数据库-表,如图:
2、将光标放在数据库(如:lingtu)上,单击右键,选择所有任务-导入数据。弹开如下窗口:
3、按下一步,在弹开的窗口中选择正确的数据源。(注意:数据源选择为Microsoft Excel 97-2000)
点“下一步”,弹开目的文件夹窗口:
6、按下一步,选择用一条查询来指定需要传输的数据:
7、点:下一步,点查询生成器命令,弹开如下窗口:
8、选择左边的yp$,点向右的箭头,选中所需要还原的列。如图:
9、点下一步,不需要选择排序,继续下一步,直至出现下面的界面:
10、按下一步,这时出现如下界面:
注意:目的默认为“结果”,需要选择为“yp”表,表示这个EXCEL表还原到yp表。
11、点“下一步”,完成还原。
由于不能粘贴图片,相信你能够完成!加油!
‘拾’ 求教,sql server 2008 使用时,光标问题
你单独写这句当然不行了,DECLARE @i int 这句你只声明了 i 是一个int类型的变量,但你还没有输入一条你想要的sql 用来执行的语句,问题是你写DECLARE @i int 想用来做什么用