⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 num_test.pgc

📁 PostgreSQL 8.1.4的源码 适用于Linux下的开源数据库系统
💻 PGC
字号:
#include <stdio.h>#include <pgtypes_numeric.h>#include <decimal.h>intmain(void){	char *text="error\n";	numeric *value1, *value2, *res;	exec sql begin declare section;		numeric(14,7) des = {0, 0, 0, 0, 0, NULL, NULL} ;	exec sql end declare section;	double d;	FILE *dbgs;		if ((dbgs = fopen("log", "w")) != NULL)	         ECPGdebug(1, dbgs);	exec sql whenever sqlerror do sqlprint();	exec sql connect to mm;	exec sql create table test (text char(5), num numeric(14,7));		value1 = PGTYPESnumeric_new();	PGTYPESnumeric_from_int(1407, value1);	text = PGTYPESnumeric_to_asc(value1, -1);	printf("long = %s\n", text);			value1 = PGTYPESnumeric_from_asc("2369.7", NULL);	value2 = PGTYPESnumeric_from_asc("10.0", NULL);	res = PGTYPESnumeric_new();	PGTYPESnumeric_add(value1, value2, res);	text = PGTYPESnumeric_to_asc(res, -1);	printf("add = %s\n", text);		PGTYPESnumeric_sub(res, value2, res);	text = PGTYPESnumeric_to_asc(res, -1);	printf("sub = %s\n", text);			PGTYPESnumeric_copy(res, &des);	exec sql insert into test (text, num) values ('test', :des);		value2 = PGTYPESnumeric_from_asc("2369.7", NULL);	PGTYPESnumeric_mul(value1, value2, res);	exec sql select num into :des from test where text = 'test';		PGTYPESnumeric_mul(res, &des, res);	text = PGTYPESnumeric_to_asc(res, -1);	printf("mul = %s\n", text);	value2 = PGTYPESnumeric_from_asc("10000", NULL);	PGTYPESnumeric_div(res, value2, res);	text = PGTYPESnumeric_to_asc(res, -1);	PGTYPESnumeric_to_double(res, &d);	printf("div = %s %e\n", text, d);	exec sql rollback;	exec sql disconnect;	if (dbgs != NULL)                fclose(dbgs);			return (0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -