扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
SQL99是一个SQL的标准,SQL是结构化查询语言的简称,只是一种查询操作语言,SQL99是其中一个标准,之前有SQL92,95等。主流的数据库SQL Server2000/2005,Oracle等都支持SQL95以后的了,SQL99和95的分别不是很大,和92分别就大,我只知道剩Access用SQL92了。
目前创新互联建站已为近千家的企业提供了网站建设、域名、雅安服务器托管、网站托管维护、企业网站设计、兴国网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
SQL Server2000是一个数据库管理系统,完全是一个系统,不是一种语言,只能说支持某些语言。
INSERT 语句中, 字符串长度超过列的长度了。
下面是一个重现的例子:
表里面 t 列长度为 varchar(10), 当你插入字符长度大于 10 的时候, 就要这个错误信息。
1 create table #test( t varchar(10) )
2 go
1 insert into #test values( '1234567890' )
2 go
(1 行受影响)
1 insert into #test values( '12345678901' )
2 go
消息 8152,级别 16,状态 14,服务器 TEST-PC\SQLEXPRESS,第 1 行
将截断字符串或二进制数据。
语句已终止。
1
1、查询SQL中的所有表: Select TABLE_NAME FROM 数据库名称.INFORMATION_SCHEMA.TABLES Where TABLE_TYPE='BASE TABLE' 执行之后,就可以看到数据库中所有属于自己建的表的名称 2、查询SQL中所有表及列: Select dbo.sysobjects.name as Table_name, dbo.syscolumns.name AS Column_name FROM dbo.syscolumns INNER JOIN dbo.sysobjects ON dbo.syscolumns.id = dbo.sysobjects.id Where (dbo.sysobjects.xtype = 'u') AND (NOT (dbo.sysobjects.name LIKE 'dtproperties')) 3、在Sql查询分析器,还有一个简单的查询方法: EXEC sp_MSforeachtable @command1="sp_spaceused '?'" 执行完之后,就可以看到数据库中所有用户表的信息 4、查询总存储过程数:select count(*) 总存储过程数 from sysobjects where xtype='p' 附:xtype类型D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束L = 日志FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程S = 系统表TF = 表函数
TR = 触发器U = 用户表UQ = UNIQUE 约束(类型是 K)V = 视图X = 扩展存储过程 另:在sqlserver中取得某个数据库中所有表名的sql语句 select sysobjects.name from sysobjects.xtype ='U';SELECT name
WHERE (xtype = 'U') 在数据库的sysobjects表里有这个数据库全部表的信息, xtype值为'U'的就是表名 注意:一般通过上述方法获得全部用户表示都会有一个dtproperties表,SQLSERVER 默认它也是用户表,想要从用户表中排出,需要加上限定条件 status0,即:select * from sysobjects where xtype='U' and status0
经过测试,可以直接使用
第一、在Oracle9i下的脚本:
SELECT to_char(flag)||'=1*'||to_char(flag) "1" ,
CASE WHEN flag1 THEN to_char(flag*2)||'=2*'||to_char(flag) ELSE '' END "2",
CASE WHEN flag2 THEN to_char(flag*3)||'=3*'||to_char(flag) ELSE '' END "3",
CASE WHEN flag3 THEN to_char(flag*4)||'=4*'||to_char(flag) ELSE '' END "4",
CASE WHEN flag4 THEN to_char(flag*5)||'=5*'||to_char(flag) ELSE '' END "5",
CASE WHEN flag5 THEN to_char(flag*6)||'=6*'||to_char(flag) ELSE '' END "6",
CASE WHEN flag6 THEN to_char(flag*7)||'=7*'||to_char(flag) ELSE '' END "7",
CASE WHEN flag7 THEN to_char(flag*8)||'=8*'||to_char(flag) ELSE '' END "8",
CASE WHEN flag8 THEN to_char(flag*9)||'=9*'||to_char(flag) ELSE '' END "9"
FROM (
SELECT 1 flag FROM dual
UNION ALL
SELECT 2 FROM dual
UNION ALL
SELECT 3 FROM dual
UNION ALL
SELECT 4 FROM dual
UNION ALL
SELECT 5 FROM dual
UNION ALL
SELECT 6 FROM dual
UNION ALL
SELECT 7 FROM dual
UNION ALL
SELECT 8 FROM dual
UNION ALL
SELECT 9 FROM dual) a
二、在sqlserver下脚本:
select convert(varchar(10),flag)+'=1*'+convert(varchar(10),flag) [1],
case when flag1 then convert(varchar(10),flag*2)+'=2*'+convert(varchar(10),flag) else '' end [2],
case when flag2 then convert(varchar(10),flag*3)+'=3*'+convert(varchar(10),flag) else '' end [3],
case when flag3 then convert(varchar(10),flag*4)+'=4*'+convert(varchar(10),flag) else '' end [4],
case when flag4 then convert(varchar(10),flag*5)+'=5*'+convert(varchar(10),flag) else '' end [5],
case when flag5 then convert(varchar(10),flag*6)+'=6*'+convert(varchar(10),flag) else '' end [6],
case when flag6 then convert(varchar(10),flag*7)+'=7*'+convert(varchar(10),flag) else '' end [7],
case when flag7 then convert(varchar(10),flag*8)+'=8*'+convert(varchar(10),flag) else '' end [8],
case when flag8 then convert(varchar(10),flag*9)+'=9*'+convert(varchar(10),flag) else '' end [9]
from
(select 1 flag
union all
select 2
union all
select 3
union all
select 4
union all
select 5
union all
select 6
union all
select 7
union all
select 8
union all
select 9) a
这里有一个例子 你自己去看看
import java.sql.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
//import java.awt.event.*;
public class DisplayDemo extends JFrame
//implements ActionListener
{
// private String dbURL="jdbc:microsoft:sqlserver://202.115.26.181:1433"; // 数据库标识名
private String user="devon"; // 数据库用户
private String password="book"; // 数据库用户密码
private JTable table;
private JButton ok,canel;
public DisplayDemo(){
super("显示数据库查询结果"); //调用父类构造函数
String[] columnNames=; //列名
Object[][] rowData=new Object[5][4]; //表格数据
ok=new JButton("确定");
canel=new JButton("取消");
// ok.addActionListener(this);
// canel.addActionListener(this);
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:example","sa","");
// Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //加载驱动器
// Connection con=DriverManager.getConnection(dbURL,user,password); //获取连接
String sqlStr="select * from users"; //查询语句
PreparedStatement ps=con.prepareStatement(sqlStr); //获取PreparedStatement对象
ResultSet rs=ps.executeQuery(); //执行查询
String name,sex,email; //查询结果
int age;
int count=0;
while (rs.next()){ //遍历查询结果
rowData[count][0]=rs.getString("name"); //初始化数组内容
rowData[count][1]=Integer.toString(rs.getInt("age"));
rowData[count][2]=rs.getString("sex");
rowData[count][3]=rs.getString("email");
count++;
}
con.close(); //关闭连接
}
catch(Exception ex){
ex.printStackTrace(); //输出出错信息
}
Container container=getContentPane(); //获取窗口容器
//container.setLayout(null);
container.add(ok);container.add(canel); ok.setBounds(10,120,70,20);
canel.setBounds(100,120,70,20);
table=new JTable(rowData,columnNames); //实例化表格
table.getColumn("年龄").setMaxWidth(25); //设置行宽
container.add(new JScrollPane(table),BorderLayout.CENTER); //增加组件
setSize(300,200); //设置窗口尺寸
setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
public static void main(String[] args){
new DisplayDemo();
}
}
1、打开SqlServer--新建查询
2、定义三个变量(行、列、输出字符串) 通过横竖 九行九列 进行循环输出
如图
DECLARE @a smallint, @b smallint, @str varchar(1000)set @a=1while @a=9begin SET @b=1 SET @str='' WHILE @b=@a begin SELECT @str=@str+convert(varchar(1),@b)+'*'+convert(varchar(1),@a)+'='+convert(char(2),@a*@b)+space(2) SET @b=@b+1 end PRINT @str SET @a=@a+1END
3、执行
4、最后的结果
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流