
那个地方是不能直接复制表的。
一种方式可以在你说的那个地方,点右键,导出表创建语法,然后自己稍加修改,主要是修改表名字和约束名,然后在把这个语法复制到写SQL语句的页上执行,这样就能创建新表了。实际上这个做法是借用原表创建的语法稍加修改。
还有一种方式是通过SQL语句直接复制表,在执行SQL的地方执行,这个语法和数据库有关,不同的数据库复制的语法不同。
例如SQLSERVER的数据库,创建和A表完全相同的B表语法是:
SELECT INTO B FROM A (这样写就可以创建一张B表和A结构相同,不过没有约束,只是结构一样,另外,这样会把A表的数据也都复制到B表去,如果不想复制数据,可以加WHERE 1 <> 1)
ORACLE数据库复制表的语法是:CREATE TABLE B AS SELECT FROM A ,解释同上一样,如果不想要数据,加WHERE 1 <> 1或者其他不成立的条件就行。
开发者在使用Crosstab数据窗口时会碰到一个问题 如果开发者想对其中的列内容进行处理时 不能用通用的方法得到Crosstab中的列名 使该 *** 作无法运行 这是因为 Crosstab数据窗口中行列定义不同于其它的数据窗口 而且其列数是变化的 因此要得到Crosstab中的列名必须采用其它办法
下面以一个统计各工资段作者人数 按男女性别分别统计的Crosstab数据窗口静态风格为例探讨得到Crosstab中的列名
选择显示风格 定义数据源后 选择表 auths 中的列 author_code salary 和 sex ;用鼠标拖动Source Data列表框中的 sex 列到Columns列表框中 使 sex 列成为数据窗口的纵向统计列 用鼠标拖动Source Data列表框中的 salary 列到Rows列表框中 使 salary 列成为数据窗口的横向统计列 将salary改为int(salary/ ) ;用鼠标拖动Source Data列表框中的 author_code 列到列表框中 使 count(author_code for Crosstab) 列成为数据窗口的统计值 此时出现 CrossTab Definition 对话框
单击OK按钮 数据窗口显示
Crosstab数据窗口中的列名
Crosstab显示风格有静态和动态 如采用静态风格 则在 CrossTab Definition 对话框中取消选中 Rebuild columns at runtime 复选框 数据窗口的列名在Detail栏中 有一定规律可循
第一栏的列名分两种情况 一 CrossTab Definition 对话框中的所选的Rows的列名为表中的字段 如Rows=salary则第一栏的列名为 salary ;二 如 CrossTab Definition 对话框中的所选的Rows的列名为计算表达式 如int(salary/ ) 则第一栏的列名均为 row_column
其余各栏依次为所选Value的列名的排列 如Value为author_Code 则各栏依次 author_Code author_code_ author_code_ …… 栏的数目根据所选的Columns所能产生的数目而定 如Columns=sex 则只有两栏 author_Code author_code_ ;
最后一列的列名为 grand_count_ +所选Value名 如在此例中为 grand_count_author_code 如采用动态风格 则在 CrossTab Definition 对话框中选中 Rebuild columns at runtime 复选框 数据窗口的列名在Detail栏中 (图略)第一栏和最后一列的列名情况类似静态风格所述 也就不雷同了 中间各栏的列名情况与静态风格有所不同 依次为所选rows列名的排列 如rows为 salary 在此例中各栏依次为 salary salary_ ;
这样 问题就迎韧而解了 在得到Crosstab中的列名之后也就能自由地对其中的行列内容进行处理 通过上面的介绍 读者其实也能感觉到 计算机中许多不太容易实现的功能 只要好好分析 仔细琢磨 多试验几次 一般还是能找到有效的解决办法的
编辑推荐
ASP NET开发培训视频教程
lishixinzhi/Article/program/PB/201311/24612
以上就是关于请问在PB中如何复制一个表全部的内容,包括:请问在PB中如何复制一个表、PB中如何得到Crosstab中的列名、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)